20

2つのviewControllerがあります。1つはUIViewControllerのサブクラス(正しく自動サイズ変更)で、もう1つはUIViewControllerのサブクラスのサブクラスです。
Interface Builderでレイアウトを行い、シミュレーターでコードをテストしたところ、すべてが期待どおりに機能しました。しかし、デバイスを回転させても、ビューのサイズは変更されません。
そこで、Interface Builderに戻って、「root」のResizingプロパティ(UIView)を変更できないことがわかりました。そこで、別のファイルを開いて、サイズ変更プロパティもそこで修正しました。ただし、両方向のサイズ変更に設定されています。これが私が望む行動です。

トップUIViewの自動サイズ変更を変更して、希望どおりに実行するにはどうすればよいですか?
サブビューはそれほど多くないので、最初からやり直すことはできませんが、やりたくありません。

Interface Builder、自動サイズ変更マスク

4

3 に答える 3

24

私は前にこれに遭遇しました、そしてそれは信じられないほどイライラしました。シミュレートされたユーザーインターフェイス要素をオンにすると、支柱とばねを希望どおりに変更できないことがわかります。

[属性]タブ(Cmd-1)に移動し、ステータスバー、トップバー、ボトムバー、および分割ビューがすべて[未指定]に設定されていることを確認します。次に、[サイズ]タブ(Cmd-3)に戻ると、線をクリックしてストラットとスプリングを変更できます。最後に、Cmd-1に戻って、シミュレートされた要素をオンに戻すことができます。

于 2011-03-04T00:58:33.060 に答える
13

私は簡単な答えを持っています:

  1. 後藤IB
  2. 「ViewController」をクリックします
  3. Goto'属性インスペクター'
  4. 「サイズ」を「フリーフォーム」(「推定」以外)に変更します

あなたが持っているのはこれです:

ここに画像の説明を入力してください

「サイズ」を「フリーフォーム」に変更して、今すぐお試しください!

ここに画像の説明を入力してください

今、それは動作します!自動サイズ変更マスクを設定したら、戻って「推定」に変更します。

于 2012-08-19T14:12:06.510 に答える
0

Main.storyboardをソースとして開き(忘れないでください。これは単なるXMLファイルです)、ビューの「autoresizingMask」タグを次の行に置き換えます。

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
于 2017-10-31T12:41:51.387 に答える