这就是场景:我有一个表,其中有动态高度的单元格。在每个单元格中,我都有一个标签和一个开关。当我运行应用程序时,只能看到这两个,但后来我将开关设置为true,然后在这两个元素下面出现一个(隐藏的?)textview,使得单元格的高度更大。
我该怎么做?因为当我尝试隐藏元素时也会占据一席之地。
我该怎么做? 我尝试使用新的Stack View,它可以很好地处理它,但不是在表格单元格中....
我该如何解决这个问题?
答案 0 :(得分:0)
我认为可以使用约束来解决:
- 为文本视图设置高度约束,
- 在视图控制器中为该约束创建插座,
- 使用开关时,在视图控制器中更改约束的常量属性。
答案 1 :(得分:0)
如果隐藏文本视图,文本视图仍然存在,文本长度只要不隐藏就可以了。
因此,您最好不要隐藏/显示文字视图的文字,而是更新文字视图的文字,从#34;" - > "你想表现出什么。"
在这种情况下,自动布局可以轻松处理您的查询。你只需要设置
self.tableView.estimatedRowHeight = 65 //whatever number
self.tableView.rowHeight = UITableViewAutomaticDimension
并在单元格xib / storyboard中,在文本视图的top
和bottom
上添加约束,也不要忘记使文本视图不可滚动。
实际上,我建议您只使用UILabel
代替UITextField
,只需将lineNumber
的{{1}}设置为Label
即可,你可以忽略文本视图的0
。
答案 2 :(得分:0)
我解决了它混合这个答案:Dynamic Height Issue for UITableView Cells (Swift)表示动态高度,然后对于显示与否的视图我向视图添加了一个高度约束,然后在cellForRowAtIndexPath上将约束的常量设置为0如果你展示它,你需要隐藏它或高度。
希望它有所帮助!