Я должен программно настроить autoresizingMask для UIView
.
Я не знаю, как это реализовать.
Я должен программно настроить autoresizingMask для UIView
.
Я не знаю, как это реализовать.
Чтобы достичь того, что у вас есть на этом снимке экрана, вам нужно сделать противоположное тому, что предлагает DrummerB. Вам нужен фиксированный верхний край, поэтому вы делаете каждую другую сторону такой гибкой:
Цель C:
view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleBottomMargin;
Не устанавливать сторону как гибкую, означает, что она будет исправлена (поведение по умолчанию), поэтому нет такой вещи, как UIViewAutoResizingFixedTopMargin (поскольку она не отличается от UIViewAutoresizingFlexibleTopMargin)
Изменить для Swift:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Кредит Тому Кальмону за добавление быстрой версии 1st.
Приветствия.
Вам нужно установить свойство 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 |
.
Swift 2.0:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Чтобы установить гибкую верхнюю маржу, нижнюю маржу, левую маржу и правую границу UIView, напишите следующий код -
autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;