有人可以总结有助于解决这个问题的关键Objective-C代码片段。iPhone代码为auto uiLabel&uiTableViewCell字体改变时调整大小?
目标 - 在用户更改字体大小后自动调整UITableView的大小。因此,如果用户增加或减少字体,则(a)uiLabel高度应该改变以确保它们很好地包括文本,并且(b)uiTableViewCell高度也应该调整。
假设是:
- 的UITableView已通过 创建一个自定义单元格视图的扩展 - 即在NIB创建一个新的观点,即 形式为 的UITableView单元格的内容视图
- 每个定制 单元具有四个UILabel的形成UILabels的 2×2图案 - 在底线上,即顶线2 和两个
- 以便用户增加字体 的 UILabels的水平间距将保持不变, 然而,标签的高度会 变化
所以我想挑战/问题,我将包括(并希望通过一些回答有人可以发帖的示例代码)
- 可以这里的出发点是在InterfaceBuilder中已经布局的定制UITableViewCell吗? (或者解决方案是否要求它完全以编程方式构建)?
- 如何计算标签的高度?这只是与NSString方法“sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:”,我需要添加边距等?
- 如何编程,以增加标签的高度动态的 - 在这种方法你做到这一点&如何改变高度本身
- 如何保证时的UILabel在顶部展开&的增长,它会自动推下第二排的UILabel?这是默认情况下发生的还是有一个特定的属性/设置你必须确保这个hapen。
- 如何在发生上述情况后自动增加TableViewcell的高度。使用哪种方法来执行此操作,以及如何以编程方式执行增加重绘操作。
希望这是有道理的。
感谢
谢谢内文 - 我可以澄清:RE项目3:所以只需调整现有标签上的高度是否正确?即不需要创建一个新的替代帧?RE项目4:换句话说,在一个帧中布局UILabel没有简单的方法吗?像布局管理器类型的自动堆栈方法?注意事项5:“cellForRowAtIndexPath”和“heightForRowAtIndexPath”呼叫会一起排队吗?即不会得到一个发生,而不是另一个希望?前者可能会触发后者吗? – Greg 2011-03-07 06:24:35
3.我通常做的是从标签中获取框架,调整它并将调整后的框架分配回标签。 4.我不知道没有雇用第三方库(如果有的话)。没关系 – Nevin 2011-03-07 07:28:41