0

たとえば、UIViewには、左から右に3つのボタンがあります:、button1、button2、button3。ボタン1の幅が元の幅の2倍になるなど、ボタン1が広くなった場合、button2&3を自動的に右に動かすことができるインターフェイスビルダーの方法はありますか?

質問を明確にしなかったのでごめんなさい。

つまり、このようなサイズ変更を意味します。ボタン1を押してから、コード内のフレームを変更します。これは、butotn1のテキストの変更によるものではありません。ボタン1と2の間のギャップの幅を変更せずに、button2&3を自動的に右に移動させたい。

みんな、ありがとう。

4

4 に答える 4

1

IBは、ビューの最初の配置にのみ使用できます。

確かに、ビューの自動サイズ変更マスクを定義することもできますが、それだけです。

追加のレイアウトはコードで行う必要があります。

于 2012-04-11T13:55:00.563 に答える
1

私は間違っているかもしれませんが、IBでこれを行う方法はわかりません。ただし、コードでは非常に簡単です。ボタンをいくつかのIBOutletにリンクし、ボタンの画像のサイズ(myUIImage.size)を確認してから、ボタンのフレームを調整します(viewWillAppearで行います)。

編集内容を確認しました-コードを使用してサイズを調整している場合は、位置も調整します。

于 2012-04-11T13:58:00.140 に答える
0

はい-自動サイズ変更マスクを使用します。余白を柔軟にし(フレームをスーパービューのフレームに接続する赤い線を使用しない)、幅と高さを柔軟にすると、ボタンのサイズと動きが比例します。

于 2012-04-11T14:00:51.160 に答える
0

画面の下部にボタンが一列に並んでいる場合は、を使用することを検討してUIToolBarください。そのUIBarButtonItemオブジェクトは、互いのwidth変更に合わせて自動的に調整されます。より一般的なケースでは、フランクリンウェーバーの回答のように、位置とサイズを再計算する必要があります。

于 2012-04-11T22:42:51.397 に答える