web-dev-qa-db-ja.com

UIViewの自動サイズ変更マスクをプログラムで設定しますか?

UIViewに対してプログラムで自動サイズ変更マスクを設定する必要があります。

これを実装する方法がわかりません。

enter image description here

53
Hiren

そのスクリーンショットにあるものを実現するには、DrummerBが提案するものと反対のことをする必要があります。固定上部マージンが必要なため、他のすべての面を次のように柔軟にします。

目的C:

view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
                        UIViewAutoresizingFlexibleLeftMargin |
                        UIViewAutoresizingFlexibleBottomMargin;

側面を柔軟に設定しないということは、側面が修正されることを意味します(デフォルトの動作)

Swift用に編集:

view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]

Swiftバージョン1st。

乾杯。

85
pnizzle

ビューのautoresizingMaskプロパティを設定する必要があります。

view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

可能な値はUIViewAutoresizingで定義されています:

enum {
   UIViewAutoresizingNone                 = 0,
   UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
   UIViewAutoresizingFlexibleWidth        = 1 << 1,
   UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
   UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
   UIViewAutoresizingFlexibleHeight       = 1 << 4,
   UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;

ビット単位のOR operator |

23
DrummerB

Swift 2.0:

view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
21
Tom Calmon

Swift 4.1:

view.autoresizingMask = [.flexibleHeight, .flexibleWidth, .flexibleTopMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]
4
Jimmy_m

UIViewの柔軟な上余白、下余白、左余白、右余白を設定するには、次のコードを記述します。

autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
0
user4919266