我希望能够以编程方式更新表格视图中部分的页脚标题,同时我通过键盘输入文本。当我单击一个单元格以使其详细的文本视图可编辑时,会出现键盘,因此我想更新页脚标题而不从数据源重新加载。
事实上,如果我这样做,键盘会消失,因此它不是一种很好的互动形式。我无法找到解决这个问题的好方法......有什么建议吗?
谢谢
答案 0 :(得分:9)
我知道我已经迟到了这个帖子,但我发现你可以这么做:
[self.tableView beginUpdates];
[self.tableView footerViewForSection:section].textLabel.text = @"Whatever";
[[self.tableView footerViewForSection:section].textLabel sizeToFit];
[self.tableView endUpdates];
答案 1 :(得分:6)
如果您有分组表,则可以使用:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
yourLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 17)]; //I'm not sure about the frame...
yourLabel.font = [UIFont systemFontOfSize:16];
yourLabel.shadowColor = [UIColor whiteColor];
yourLabel.shadowOffset = CGSizeMake(0, 1);
yourLabel.textAlignment = UITextAlignmentCenter;
yourLabel.textColor = RGB(76, 86, 108);
yourLabel.backgroundColor = [UIColor clearColor];
yourLabel.opaque = NO;
return yourLabel;
}
在yourLabel
文件中声明.h
。然后,您可以通过
yourLabel.text = @"whatever you want";
请检查是否有效:)
答案 2 :(得分:2)
第一部分(ziro)
[self.tableView footerViewForSection:0] .textLabel.text = @“test”;
答案 3 :(得分:2)
Mark Alldritt的答案很好,但有时它并没有正确调整标签的大小。下面的固定示例(对于section == 0):
[self.tableView beginUpdates];
UILabel *footerLabel = [self.tableView footerViewForSection:0].textLabel;
footerLabel.text = [self tableView:self.tableView titleForFooterInSection:0];
CGRect footerLabelFrame = footerLabel.frame;
footerLabelFrame.size.width = self.tableView.bounds.size.width;
footerLabel.frame = footerLabelFrame;
[self.tableView endUpdates];
答案 4 :(得分:0)
tableView.beginUpdates()
tableView.footerView(forSection: 0)?.textLabel?.text = "Text Here"
tableView.endUpdates()