2017-08-31 10 views
0

私は、GrowingTextView、固定スペース、およびUIBarButtonItemを持つUIToolbarを持っています。 GrowingTextView libraryは、TextViewのの高さの制約をリサイズし、ツールバーの高さをリサイズするだけでなく、右のボタンを移動するとツールバーの高さを変更するときにボタンが右に移動しないようにするにはどうすればよいですか?

GrowingTextView and button

:ように見えるん

GrowingTextView and wrong button ませ事項テキストビューがどのように大きく、ボタンの位置。テキストビューのサイズが最初に変更されると、常に20ピクセル右に移動します。初めての場合。

どうすれば解決できますか?私はビジュアルモードで制約を記述しようとしましたが、私はこのようなレイアウトを得ることができません。私も固定スペースをリフレッシュしようとしました。 GrowingTextViewを追加するための

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] 

コード:固定空間にボタンを追加するための

コード

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() 
+0

ビューが現れた後、あなたがトリガ/レイアウトを強制するとどうなりますか? –

+0

: 'H:| -8- [textView] -60- |'、あなたはボタンのために何も持っていませんか? 'H:| -8- [textView] -10- [button] -60- |' – Honey

+0

@Honey私は試しましたが、明らかにそのようには動作しません。これで、あなたは[これ](https://www.dropbox.com/s/clpv6q3onz4o4pe/IMG_0023.PNG?dl=0)(テキストなし) – Ivan

答えて

0

あなたはボタンの両方の側に柔軟なスペースを設定する必要があります。それは両側のスペースの真ん中にボタンを保持します。

これを試してみてください:

let item1 = UIBarButtonItem(customView: sendButton) 
let flexibleSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil) 
bottomToolbar.items = [flexibleSpace , item1, flexibleSpace] 
+0

答えをありがとう。しかし、私は右側に柔軟なスペースや固定スペースを設定しても、同じ問題が残っています。 – Ivan

関連する問題