我希望在textview中有字符时调整自动布局约束并重新定位。是的,我正在使用textview委托。是的,视图加载时视图可以正确布局。当我尝试调整视图大小时出现问题...我可以按照我想要的方式移动它(centerX),但是当我更改width属性时,视图会动画并消失...
这是代码......
paddingView.widthAnchor.constraint(equalTo:view.widthAnchor,multiplier:0.5).isActive = true
NSLayoutConstraint(item: paddingView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 0.75, constant: 0).isActive = true
paddingView.heightAnchor.constraint(equalToConstant: 6.0).isActive = true
bottomConstraint = paddingView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0.0)
bottomConstraint?.isActive = true
这是第二部分
func textViewDidChange(_ textView: UITextView) {
let currentString: String = textView.text!
let length: Int = (currentString.characters.count )
if length > 0 {
NSLayoutConstraint(item: paddingView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0).isActive = true
paddingView.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.75).isActive = true
}else{
}
UIView.animate(withDuration: 0.2, delay: 0, options: UIViewAnimationOptions.curveEaseOut, animations: {
self.view.layoutIfNeeded()
}, completion: { (completed) in
})
}
可能是因为我一起使用锚点和NSLayoutConstraints吗?
答案 0 :(得分:1)
用于调整大小:您可以通过不将固定约束设置为超级视图并使用压缩拥抱和阻力优先级来动态地增大和减小文本视图的大小。 对于重定位:在textview委托中的各个位置启用和禁用约束