我有一個UIToolbar與GrowingTextView,一個固定的空間和一個UIBarButtonItem。看起來像:如何在更改工具欄高度時防止按鈕向右移動?
當GrowingTextView library大小調整的TextView的高度約束,重新調整工具欄的高度,但也動按鈕向右:
沒有問題到底有多大的文本視圖和按鈕的位置。第一次文本視圖調整大小時,它總是像20像素一樣移動。只有第一次。
我該如何解決?我試過在可視化模式下編寫約束,但我無法以這種方式獲得這種佈局。我也嘗試刷新固定空間。
代碼與固定空間添加一個按鈕:
let item1 = UIBarButtonItem(customView: sendButton)
fixedSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
fixedSpace.width = UIApplication.shared.windows[0].frame.width - rightMargin - sendButton.frame.width
bottomToolbar.items = [fixedSpace, item1]
代碼添加GrowingTextView:
let views: [String: Any] = ["textView": messageToSendTextView]
let hConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:|-8-[textView]-60-|", options: [], metrics: nil, views: views)
let vConstraints = NSLayoutConstraint.constraints(withVisualFormat: "V:|-8-[textView]-8-|", options: [], metrics: nil, views: views)
bottomToolbar.addConstraints(hConstraints)
bottomToolbar.addConstraints(vConstraints)
self.view.layoutIfNeeded()
當你強迫/會發生什麼事觸發佈局的觀點已經出現之後? –
在你的約束中:'H:| -8- [textView] -60- |',爲什麼你沒有任何按鈕?我的意思是'H:| -8- [textView] -10- [button] -60-'' – Honey
@Honey我試過了,但顯然不能這樣工作。與此,你得到[這](https://www.dropbox.com/s/clpv6q3onz4o4pe/IMG_0023.PNG?dl=0)(沒有文字視圖) – Ivan