我想以编程方式设置我的 UITextView
的高度以相应地适合内容。我已将 UITextView
的默认高度设置为遵循我设置的布局约束,但希望在用户触摸按钮时更改它。@IBOutlet weak var descriptionHeight: NSLayoutConstraint!
我尝试使用 layoutIfNeeded()
,但它不会改变我的文本 View 的大小(因为大小是由布局约束保持的)。
我试图暂时禁用这样的约束:
print("before: \(descriptionTextView.frame)")
descriptionHeight.active = false
descriptionTextView.layoutIfNeeded()
print("after: \(descriptionTextView.frame)")
descriptionHeight.constant = descriptionTextView.frame.height
descriptionHeight.active = true
但是当停用它后访问 socket 时,它会引发异常:似乎它正在正确计算大小:
为什么会发生这种情况?
有没有更好的方法来计算和设置我的
UITextView
的适当大小? 最佳答案
制作导出 strong
:
@IBOutlet strong var descriptionHeight: NSLayoutConstraint!
编辑 :
似乎最新版本的 Xcode 将 socket 添加为:
@IBOutlet var descriptionHeight: NSLayoutConstraint!
正如@Dan 在评论中提到的那样。