Aar*_*ger 20 cocoa-touch interface-builder uitableview ios autolayout
我想为UITableViewCells使用自动布局.这些表格单元格具有动态高度(取决于文本长度).
我正在使用[UIView -systemLayoutSizeFittingSize:]计算适当的单元格高度(返回[UITableView -heightForRowAtIndexPath:]),但我一直得到以下结果:
如果我通过UILayoutFittingCompressedSize,我会收到(0,0)的CGSize.
如果我通过UILayoutFittingExpandedSize,我的应用程序崩溃与此错误:
***断言失败 - [NSISLinearExpression incrementConstant:],/ SourceCache /Foundation_Sim/Foundation1043.1/Lightsout.subproj/IncrementalSimplex/NSISLinearExpression.m:620
(我的猜测是,这意味着一些数字是无限的.)
我的实现很简单.我计算每个对象的高度,然后缓存它:
MessageCell *cell = // allocate a new cell...
// set up the cell (assign text, images, etc)
CGSize size = [cell systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
self.cellHeight = size.height; // size always equals (0, 0)
Run Code Online (Sandbox Code Playgroud)
我假设这是我设置的约束的问题,但是:
cellHeight为较大的值,除了高度错误外,单元格看起来都很好.[cell hasAmbiguousLayout]回报NO.有任何想法吗?
Tom*_*ift 38
这对我有用(注意'contentView')
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
Run Code Online (Sandbox Code Playgroud)
编辑:我回答了类似的问题并提供了一个完整的例子,这里:
如何调整superview的大小以适应autolayout的所有子视图?
| 归档时间: |
|
| 查看次数: |
26174 次 |
| 最近记录: |