Wii*_*ard 7 uitextview ios autolayout swift
我想以UITextView编程方式设置我的高度以相应地适应内容.我已将UITextView默认高度设置为遵循我设置的布局约束,但希望在用户触摸按钮时更改它.
@IBOutlet weak var descriptionHeight: NSLayoutConstraint!
我试图使用layoutIfNeeded(),但它不会改变我的文本视图的大小(因为大小由布局约束保留).
我试图暂时禁用这样的约束:
print("before: \(descriptionTextView.frame)")
descriptionHeight.active = false
descriptionTextView.layoutIfNeeded()
print("after: \(descriptionTextView.frame)")
descriptionHeight.constant = descriptionTextView.frame.height
descriptionHeight.active = true
Run Code Online (Sandbox Code Playgroud)
但是当停用它后访问插座时,它会引发异常:
致命错误:在展开Optional值时意外发现nil
它似乎正在正确计算大小:
之前:(8.0,8.0,398.0,100.0)
之后:(8.0,8.0,398.0,954.666666666667)
为什么会这样?有没有更好的方法来计算和设置我的适当大小UITextView?
做出口strong:
@IBOutlet strong var descriptionHeight: NSLayoutConstraint!
Run Code Online (Sandbox Code Playgroud)
编辑:
似乎Xcode的最新版本增加了出口:
@IBOutlet var descriptionHeight: NSLayoutConstraint!
Run Code Online (Sandbox Code Playgroud)
正如@Dan在评论中也提到的那样.
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |