【发布时间】:2015-03-25 14:08:30
【问题描述】:
我有一个 UITableViewCell 里面有多个项目。 (不仅仅是一个 textView,所以我不能遵循 this 选项。)我正在尝试根据它内部的内容动态调整它的高度。
我将要更改的高度是 UITextView 和 UIView。 textView 将不断变化(在另一种方法中,如果您愿意,我可以发布它)。如果用户单击按钮,UIView 会发生变化:
这是我的代码:
- (void)viewDidLoad
{
self.tableView.rowHeight = UITableViewAutomaticDimension;
}
- (IBAction)thisButton:(id)sender
{
CGRect frame = self.myView.frame;
frame.size.height = 50;
frame.size.width = self.myView.frame.size.width;
self.myView.frame = frame;
// update 'myView's constraint
self.viewHeight.constant = self.myView.frame.size.height;
self.tableView.rowHeight = UITableViewAutomaticDimension;
[myTableView reloadData];
}
问题:
发生的情况是,当我按下按钮时,UIView 的高度得到了 更新了,但随后单元格中的其他所有内容都会向上移动,并且单元格保持相同的大小。
当 UITextView 的高度发生变化时,它不会拉动其他所有内容 向下,并且单元格高度保持不变。虽然 textView 的 高度确实发生了变化,它只是超越了其他一切。
约束:
在 UITextView 我有 3 个约束 - 每侧 2 个,顶部 1 个。 UIView 有 3 个约束 - 每侧 2 个,底部 1 个。 然后我有一个将 UIView 连接到 textView 的约束。
【问题讨论】:
-
您是否尝试将两个视图高度加在一起,然后将其设置为行高?
-
您介意为您的约束拍摄屏幕截图吗?
标签: ios objective-c uitableview nslayoutconstraint