UITableViewCell 不使用 Swift 动态调整大小
Posted
技术标签:
【中文标题】UITableViewCell 不使用 Swift 动态调整大小【英文标题】:UITableViewCell not dynamically resizing using Swift 【发布时间】:2015-12-20 18:49:05 【问题描述】:我正在尝试快速动态调整 UITableView 单元格的大小:
以上是我为尽可能小的屏幕尺寸(iPhone 4)设置的单元格。如果屏幕宽度增加并保持其纵横比,绿色视图(图像)将放大。它固定在顶部,启用了前沿交易边缘和纵横比。下面的标签水平居中。顶部固定在图像底部,高度和宽度固定。
我在 viewDidLoad 中有这段代码:
tableView.estimatedRowHeight = 262
tableView.rowHeight = UITableViewAutomaticDimension
如果我运行应用程序,我会收到警告:
仅警告一次:检测到约束模糊地建议 tableview 单元格的内容视图高度为零的情况。我们正在考虑意外折叠并改用标准高度。 单元格的大小也是错误的,只有大约 25pts 高度。我在这里做错了什么?
【问题讨论】:
【参考方案1】:首先,请查看此链接。你可能错过了一个重载:
custom UItableView not displaying correctly on ios8
其次,再次查看您的约束条件。就垂直维度而言,您已经设置了从图像到顶部、从图像到标签以及从标签到底部的距离。
标签的大小将由文本给出。
但是图像的大小是不确定的。您有一个前导约束和一个纵横比,但它如何指定大小?
基本上如果你自己渲染,你有足够的信息来做吗?
【讨论】:
对于图像,我有一个前导和尾随约束。所以尺寸会根据屏幕的宽度来指定【参考方案2】:尝试添加约束:标签底部到单元格底部
移除标签的固定高度。
希望这会有所帮助。
【讨论】:
以上是关于UITableViewCell 不使用 Swift 动态调整大小的主要内容,如果未能解决你的问题,请参考以下文章
需要在 Swift 中的 UITextField 委托方法中引用自定义 UITableViewCell 而不使用 tag 属性
UITableViewCell中的Swift ScrollView不滚动