我知道当 UIKit 渲染一个单元格时,它使用 tableView:heightForRowAtIndexPath:
来计算高度。我的问题是,如何以及何时在实际的 UITableViewCell
上设置。我想构建动态单元格,并且需要计算单元格内文本的位置。我相信我可以只使用 self.bounds 和 self.frame - 我只是好奇它们是在什么时候设置的 - 即使使用 dequeueReusableCellWithIdentifier
。
谢谢。
从tableView:cellForRowAtIndexPath:
返回单元格后,tableview会设置一些属性,包括单元格的边界,然后调用tableView:willDisplayCell:forRowAtIndexPath:
。该调用之后的唯一修改是设置 alpha/frame,即使这样也仅在为行设置动画时进行。
鉴于,如果您使用的是库存 UITableViewCell
,您可以在 tableView:willDisplayCell:forRowAtIndexPath:
中布局您的文本,并确保该单元格已经具有正确的宽度/高度。也就是说,如果您要做的不仅仅是基础知识,您可能需要考虑子类化 UITableViewCell
。在您的子类中,您可以在 layoutSubviews
中布置您的字段,并确保您的单元格将始终正确布置。
关于iphone - UITableViewCell 的高度如何设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4631781/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |