sti*_*nzo 0 objective-c autosize uitableview ios
我搜索了很多解决方案,但找不到任何解决这个特殊情况的方法.
我在UITableView中创建了一个自定义单元格,这些元素从顶部开始按顺序排列:
如果我为顶部标签插入很长的文本,单元格也会正确自动调整高度.
现在我想在按钮上添加一个动作,以便在视图的高度上调整大小,就像手风琴一样.所以我试图改变高度没有成功,如果我重新加载tableview,任何改变.我试图设置一个约束到视图的高度,但如果我改变所有内容移动但单元格的高度不会改变.
我可以让视图改变高度的唯一方法是设置表的rowheight,但是更改表的所有单元格,我想打开只有一个单元格的视图.
还有另一种方法吗?
在此先感谢Ale
编辑:
对于间隙,我已经使用noobular建议的委托方法解决了,将视图设置为0高度允许在单元格的高度发生变化时进行扩展.
我通过这些方法取得了类似的效果.首先,我确定一个表示单元格高度的约束.我正在使用左侧装饰条的高度限制,该装饰条固定在单元格的顶部和底部.重要的是,此约束属于一个对象,该对象是单元格内容视图的子级,并且在打开和关闭状态下都将显示在屏幕上.此约束连接到它将控制的单元格上的属性.
当我想改变单元格的高度,即100,我可以这样做:
cell.heightConstraint.constant = 100.0
cell.layoutIfNeeded()
tableView.beginUpdates()
tableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)
对beginUpdates和endUpdates的调用强制tableView再次布局其单元格,从而扩展或收缩单元格.请注意,我实际上是在单元格自己的setSelected:animated:函数中调用前两行,而在表视图控制器的tableView:didSelectCellAtIndexPath:方法中调用其余两行.这具有在选择单元时扩展单元的效果.
| 归档时间: |
|
| 查看次数: |
1940 次 |
| 最近记录: |