将 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