将 UIButton 标题设置为选定的表格单元格

Posted

技术标签:

【中文标题】将 UIButton 标题设置为选定的表格单元格【英文标题】:Set UIButton title to selected table cell 【发布时间】:2013-06-03 11:42:34 【问题描述】:

我有一个UITableView 在单击不同按钮时加载不同的数组。我想要的是将UIButton 标题更新为选定的表格单元格。例如:用户选择了表格第 4 行,其中包含文本“2013 年 4 月”。该按钮将其标题更新为“2013 年 4 月”。 这是有效的。 现在,用户通过单击按钮在 TableView 之间切换(在 SAME 数组中加载新数据)。 UITableView 的表第 4 行名为“2013 年 4 月”更新其字段使用相同的数组,之前选择的字段仍然保留,但现在使用不同的数据。然而 UIButton 标题仍显示“2013 年 4 月”,我想更改它,以便在单击按钮并更改数组数据时,按钮标题也会更改。

DidSelectRowAtIndexPath:

if([self.delegate respondsToSelector:@selector(dateSpecifiedButtonText:)]) 

    [self.delegate dateSpecifiedButtonText:selCell.textLabel.text];

ViewController.m:

- (void)dateSpecifiedButtonText:strText2 

   [self.dateSpecifiedButton setTitle:strText2 forState:UIControlStateNormal];

简而言之:如何更新 UIButton 标题以显示当前选定的表格单元格。

我希望你能理解这个问题。

【问题讨论】:

在 tableView 之间切换时重置所有按钮标题。 我宁愿建议,而不是保存数据,保存索引,即保存第4行,当你显示新数据时只需突出显示第4行。所以它会自动显示第4行突出显示。跨度> 我将如何执行这些方法? 不确定你的其余代码,但在我看来你必须编写一个方法,当新数据加载到你的数组中并更新你的按钮文本时执行。如果没有这种方法,您的按钮文本将不会自动更新。 加载新数据时,按钮文本应该是什么,之前选中的行应该保持选中状态? 【参考方案1】:

不要根据单元格的内容设置按钮标题,而是尝试根据数组的内容设置标题:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
NSString *titleToUse = [arrayWithData objectAtIndex:indexPath.row];

if([self.delegate respondsToSelector:@selector(dateSpecifiedButtonText:)]) 

    [self.delegate dateSpecifiedButtonText:titleToUse];



【讨论】:

以上是关于将 UIButton 标题设置为选定的表格单元格的主要内容,如果未能解决你的问题,请参考以下文章

将子视图添加到选定的表格视图单元格

如何在 UIButton 中的选定状态下从正常状态和标题文本设置 UIImage

如何根据选定的单元格在表格视图中设置启用的检查图像

快速从 UIPickerView 的选定行设置 UIButton 的标题

Swift tableview 单元格单选按钮实现

更改 UITableView 中一些选定的表格视图单元格文本的颜色