故事板和可扩展的textView

时间:2014-04-11 09:12:53

标签: ios objective-c storyboard uitextview autolayout

我尝试使用textView在故事板中设置可展开的autolayout

以下是我设置约束的方法:

enter image description here enter image description here

“说明”附近的字段为UITextView。我希望它扩展它取决于行文本字段包含多少。

视图的树结构是: UIView - > UITextView

我现在这样做:

- (void)textViewDidChange:(UITextView *)textView {
    CGFloat fixedWidth = textView.frame.size.width;
    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
    CGRect newFrame = textView.frame;
    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
    textView.frame = newFrame;
}

它将UITextView按预期扩展到父视图的底部。但我的任务是:

  1. 按预期展开文本字段。
  2. 也展开父视图的height以保存底部的边距。
  3. 正如你所看到的那样,frame让我陷入困境,但我有这种感觉,我需要使用约束来做到这一点。你能建议一个合适的解决方案吗?

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

  • 将高度限制添加到parentView
  • UITextView
  • IBOutlet连接到该高度限制
  • textViewDidChange:方法
  • 中以编程方式更新该约束

答案 1 :(得分:0)

可以不以编程方式更新约束。关键是取消选中textview上的“Scrolling enabled”字段,并将视图的高度约束设置为大于或等于初始常量。