Как я могу выровнять обычный UIButton, например. сверху, снизу или середине программно?
Как программно выровнять кнопку в приложениях iOS?
Ответ 1
Вы можете установить центр кнопки, чтобы поместить его соответственно.
yourButton.center = CGPointMake(0.0, 0.0);// for topleft
yourButton.center = CGPointMake(160.0, 240.0);// for center
yourButton.center = CGPointMake(320.0, 480.0);// for bottomright
Надеюсь, что это поможет
Ответ 2
Вы должны установить UIButton
фрейм самостоятельно.
Горизонтальное выравнивание
float X_Co = (self.view.frame.size.width - yourButtonWidth)/2;
[button setFrame:CGRectMake(X_Co, yourYposition, yourButtonWidth, yourButtonheight)];
Вертикальное выравнивание
float Y_Co = (self.view.frame.size.height - yourButtonheight)/2;
[button setFrame:CGRectMake(yourXposition, Y_Co, yourButtonWidth, yourButtonheight)];
TOP LEFT
[button setFrame:CGRectMake(0.0, 0.0, yourButtonWidth, yourButtonheight)];
ВЕРНУТЬ ПРАВО
float X_Co = self.view.frame.size.width - yourButtonWidth;
[button setFrame:CGRectMake(X_Co, 0.0, yourButtonWidth, yourButtonheight)];
BOTTOM LEFT
float Y_Co = self.view.frame.size.height - yourButtonheight;
[button setFrame:CGRectMake(0.0, Y_Co, yourButtonWidth, yourButtonheight)];
НИЖНЯЯ ПРАВКА
float X_Co = self.view.frame.size.width - yourButtonWidth;
float Y_Co = self.view.frame.size.height - yourButtonheight;
[button setFrame:CGRectMake(X_Co, Y_Co, yourButtonWidth, yourButtonheight)];
Центр Self.view
button.center = self.view.center;
OR
float X_Co = (self.view.frame.size.width - yourButtonWidth)/2;
float Y_Co = (self.view.frame.size.height - yourButtonheight)/2;
[button setFrame:CGRectMake(X_Co, Y_Co, yourButtonWidth, yourButtonheight)];
Ответ 3
Единственный способ установить позицию подвью - это вручную. Вы можете установить фрейм, например, следующим образом:
Или измените источник, например, например:
view.frame.origin.x = INT_VALUE;
Единственный способ получить какое-то выравнивание - сделать математику с помощью self.view.frame
. Если вы хотите выровнять объект по горизонтали с серединой экрана, используйте это:
view.frame.origin.x = self.view.frame.size.width / 2
Если вы хотите выровнять что-то вверху с краем 44 пикселя, используйте это:
view.frame.origin.y = self.view.frame.origin.y = (view.frame.size.height / 2) + 44;
Etc.
Ответ 4
Вы должны установить его фрейм.
Что-то вроде
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(320, 120, 35, 10)];
или
button.frame = CGRectMake(320, 120, 35, 10);
Имейте в виду, что первая пара значений - это соответственно ширина и высота (позиция в X и Y) представления, а вторая пара значений - ширина и высота самой кнопки.
Итак, если вы хотите кнопку сверху, вы должны ввести
button.frame = CGRectMake(0, 0, 35, 10);
Средний
button.frame = CGRectMake(160, 240, 35, 10);
нижний
button.frame = CGRectMake(320, 480, 35, 10);
Ответ 5
отличный совет @TheTiger! Я поставил эту логику в быстрый класс:
https://github.com/iurims/iSLibs/blob/master/ISPositionCalculator.swift