2

絵コンテを使って、プロジェクトを作成しました。

内部viewDidLoadでは、私はしました:

NSLog(@"%@",self.view.description); 

私が得た:

<UIView: 0x8789cb0; frame = (0 20; 320 460); autoresize = RM+BM; layer = <CALayer: 0x8789d50>>

しかし、別のXXControllerDelegateメソッド内で、次のようになりました。

<UIView: 0x8789cb0; frame = (0 0; 320 416); autoresize = RM+BM; layer = <CALayer: 0x8789d50>>

私が選択しなかった場合、私は事実を見つけましたResize View From NIB NIBからの立ち上がりビュー

私はいつも得ました: frame = (0 0; 320 416)

しかし、NIBからビューのサイズを変更する場所が見つかりませんでした。ビューを移動したのは誰ですか。

4

2 に答える 2

1

ビューにはRM+BMこれらのアンカーがあり、親ビューに対してビューのyとxの位置を移動できます。viewDidLoadが呼び出されると、ファイルsuperviewからサイズが取得され、が呼び出されると、ビューのサイズが次のように変更されます。xibviewWillAppearsuperview

ビューのサイズを変更したくない場合は、を削除する必要がRM+BMあります。スクリーンショットを確認してください

以下の画像の右中央部分にある赤い水平線と垂直線を削除します

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

于 2012-06-28T09:11:26.193 に答える
0

のフレームは、UIViewそれが含まれているスーパービューに関連しています。

の境界は、UIViewそれ自体の座標系を基準にしています。

したがって、ビューを追加する場所を確認する必要があります。

于 2012-06-28T09:11:30.233 に答える