Как поместить кнопку в середине UIView по горизонтали и вертикали для любого устройства?
У меня есть UIButton типа UIButtonRoundedRectType, который я хочу поместить в середину экрана по горизонтали и вертикали.
Я пытался сделать это с помощью жесткого кодирования чисел, но это оглядывается назад при запуске на iPhone против iPhone (сетчатки). Я хотел бы программно удерживать кнопку в центре, вычисляя ширину контейнера.
Итак, я попробовал это, но это не работает.
container = view.frame.size
button = UIButton.buttonWithType(UIButtonTypeRoundedRect)
button.frame = [[container.width/2-button.frame.size.width/2,150], [280,50]]
4 ответа
Как насчет:
button.center = [button.superview convertPoint:button.superview.center fromView:button.superview.superview];
Если вы используете представление в XIB, вы можете использовать то, что я упомянул.
Перейдите к XIB -> Нажмите на View -> Нажмите на инспектор размера -> Arrange (Вы можете установить положение здесь).
Выберите все свойства Position of Container
а также Fill Container
,
И если вы создаете представление динамически (не в XIB), то вы можете использовать в соответствии с границами суперпредставления.
Вы не были слишком далеко. Это работает (я пробовал):
container = view.frame.size
button = UIButton.buttonWithType(UIButtonTypeRoundedRect)
button_size = [ 280, 50 ]
left_margin = (container.width / 2) - (button_size[0] / 2)
top_margin = (container.height / 2) - (button_size[1] / 2)
button.frame = [[ left_margin, top_margin ], button_size ]
button.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin