以编程方式设置静态单元格的详细文本标签
Posted
技术标签:
【中文标题】以编程方式设置静态单元格的详细文本标签【英文标题】:Set detailtextlabel of static cell programmatically 【发布时间】:2012-06-29 11:03:07 【问题描述】:我有一个包含几个部分的 tableView,我将它设置为静态单元格而不是动态原型。问题是我无法,或者至少我不知道如何设置。是否可以 ?我看到这样做的唯一方法是拥有动态原型,这意味着我将不得不处理在我的数据源中设置所有 cell.textLabels 以及所有部分和我的 segues 将不再工作。如果有人有想法,那将是很大的帮助。谢谢:)
【问题讨论】:
【参考方案1】:假设您的 UITableView
在 UITableViewController
中,这里有 2 种有用的方法:
自定义 UITableViewCell
:在视图控制器类中,为标签声明一个属性为:@property (strong) IBOutlet UILabel *labelInCell;
在情节提要中,将UILabel
拖入单元格中,选择控制器的Connections Inspector,然后通过从inspector 拖动到UILabel
对象来连接属性的出口。 p>
然后您可以通过编程方式分配标签文本,例如,在控制器类的viewDidLoad:
中。
标准数据源:或者,您可以只实现一种方法: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
在视图控制器的数据源中设置detailTextLabel
属性。
【讨论】:
谢谢,事实上我意识到可以在不实现- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
的情况下继承 UITableViewController 子类,这样 Interface Builder 中定义的所有静态单元格都显示为已设置,我可以为我的特殊单元格设置一个出口我想在- (void)ViewDidAppear:(BOOL)animated
中配置
非常感谢 Scottocs 的评论!!我用静态单元格工作了好几个小时,我只是担心我将两个标签叠在一起,一个是我要添加的新标签,另一个是单元格的标题。但现在一切都说得通了:):)以上是关于以编程方式设置静态单元格的详细文本标签的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式动态调整多行 UILabel 和随附的表格视图单元格
根据内容动态调整tableview单元格的高度 - iOS Swift