iOS故事板 - 自动布局不会调整大小和重新定位子视图

时间:2016-06-20 10:04:55

标签: ios xcode swift autolayout storyboard

我不想设置Y位置约束,因为我需要视图相对于彼此,因为我有一个UITextView必须和根据如何动态更改其值其中有许多行文字。但它并没有这样做。我可以通过调用UITextView上的sizeToFit()来强制它,但它会重叠下面的视图。

Xcode唠叨我减少歧义,整个视图控制器上都有红线,但如果必须是动态的话,手动拥有Y位置约束对我没有任何意义。

所以我的问题是我该怎么做 1.在文本行数增加后,让我的UITextView调整其高度 2.使下面的视图自动下推,以便UITextView不会重叠它们。

我已经阅读了多个答案并且设法做了1而不是另一个。

Swift中的解决方案:

let sizeThatFitsTextView = textView.sizeThatFits(CGSizeMake(textView.frame.size.width, textView.frame.size.height))
textViewHeightConstraint.constant = sizeThatFitsTextView.height

1 个答案:

答案 0 :(得分:1)

1)来自故事板或编码的Disable the scroll of Textview

2)为outlet创建textview's height constraint。当基于计算发生文本更改时,以编程方式从textView委托方法更改高度约束。

CGSize sizeThatFitsTextView = [TextView sizeThatFits:CGSizeMake(TextView.frame.size.width, MAXFLOAT)];

TextViewHeightConstraint.constant = sizeThatFitsTextView.height;