1. ホーム
  2. アイオス

[解決済み】プログラムによるマスクの自動サイズ調整 vs Interface Builder / xib / nib

2022-04-08 17:27:27

質問

xibで右マージンインジケーターを有効にすることは、以下のように等価であるという(おそらく間違った)思い込みがありました。 UIViewAutoresizingFlexibleLeftMargin コード内など。

ということで、以前はこのスナップショットに沿って考えていました。

今日、私はクロスチェックする必要があり、そして偶然に見つけました。 このスレッド .

また、appleのドキュメントで、タイトルが「"Handling Layout Changes Automatically Using Autoresizing Rules"」というセクションがあり、このリンクに記載されています。 https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/CreatingViews.html

そこで、オートライジングマスクをプログラムで設定することが、xibの設定とどのように同等になるのか、私の中で改めて構想を練ってみました。

シナリオ1 : 設定のみ (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight) とは同等である。

<イグ

XIBでは?

シナリオ2 : 設定 (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin) と同等であることをコードで示します。

XIBでは?

私の2つのリニューアルしたシナリオは正しいのでしょうか?私の理解は正しいですか?

どのように解決するのですか?

そう、Interface Builderはある意味(見方によってはUIViewと)逆なのです。引用したシナリオは正しいです。