我想以编程方式更改 UITextView 的高度约束,因此我将约束设置为 Controller 中的导出,如下所示:
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *descriptionHeightConstraint;
要更改它,我执行以下操作:
self.descriptionHeightConstraint.constant = self.description.contentSize.height;
如果我在 viewDidAppear 中这样做,这是可行的,但问题是我可以看到显示 View 后高度如何变化,这对用户来说不是很友好,所以我尝试在 中这样做>viewWillAppear 但没有在那里工作,高度没有改变。更改约束后调用 setNeedsUpdateConstraints 也不起作用。
为什么在 viewDidAppear 而不是 viewWillAppear 中工作?任何解决方法?
提前致谢!
最佳答案
尝试在 viewDidLayoutSubviews
中设置常量。
请注意,使用 TextView 的 contentSize
属性设置 TextView 的高度在 iOS 7 中不起作用。参见 https://stackoverflow.com/a/18837714/1239263
关于ios - 以编程方式更改高度约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930000/