以编程方式更改高度约束

mxc*_*xch 30 height constraints ios autolayout

我想以编程方式更改UITextView的高度约束,因此我将约束设置为我的控制器中的插座,如下所示:

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *descriptionHeightConstraint;
Run Code Online (Sandbox Code Playgroud)

要更改它,我执行以下操作:

self.descriptionHeightConstraint.constant = self.description.contentSize.height;
Run Code Online (Sandbox Code Playgroud)

这是有效的,如果我在viewDidAppear中这样做,但问题是我可以看到高度在显示的视图之后如何变化,这不是非常用户友好所以我尝试在viewWillAppear中进行但是在那里没有工作,高度没有改变.更改约束后调用setNeedsUpdateConstraints也不起作用.

为什么在viewDidAppear中工作而不在viewWillAppear中工作?任何解决方法?

提前致谢!

bil*_*tum 27

请尝试设置常量viewDidLayoutSubviews.

请注意,使用文本视图的contentSize属性设置文本视图的高度在iOS 7中不起作用.请参阅/sf/answers/1318640011/