2016-07-18 3 views
0

Я хотел бы спросить, как можно установить ограничение таким образом, чтобы середина кнопки была расположена в нижней части экрана для другого экрана iOS размер?Поместите среднюю кнопку в нижней части экрана телефона (независимо от размера экрана)

Это идеальный случай, когда средняя кнопка находится в нижней части экрана, а нижняя половина не отображается на экране:

enter image description here

С ниже коде, это то, что происходит , который не то, что я хотел:

enter image description here

Я попытался это:

[qrScanner.bottomAnchor constraintEqualToAnchor:self.bottomLayoutGuide.topAnchor constant:100].active = YES; 

но он работает только на экране iPhone 6, а не на другом экране, таком как iPad Mini.

Могу ли я узнать, есть ли способ обобщить такую ​​формулу, чтобы все центральные кнопки были расположены в нижней части экрана независимо от размера экрана?

Пожалуйста, помогите, я пробовал в течение нескольких дней и искал везде, но не могу найти ни одной подсказки. Благодаря!

+0

вы подразумеваете кнопку центра? –

+0

@TejaNandamuri Да. Значит, центр кнопки расположен в нижней части экрана, например: http://i.stack.imgur.com/mBKRb.jpg, а не то, что происходит сейчас: http: //i.stack .imgur.com/Yma8d.jpg – maymaymaymaymay

ответ

1
[qrScanner.centerYAnchor constraintEqualToAnchor:self.bottomLayoutGuide.topAnchor constant:0].active = YES; 
0

Основываясь на том, как выглядят ваши макеты, я предполагаю, что ваша кнопка не имеет фиксированного размера, но она растет или сжимается в зависимости от размера контейнера. Из-за этого смещение 100 работает только тогда, когда ваша кнопка имеет высоту 200.

Я не уверен, как вы определяете размер кнопки, но насколько позиционируется, вы хотите сосредоточиться его координату X, а затем установить нижнее ограничение, где центр Y y кнопки кнопки равен дну контейнера. Это 2 ограничения, которые необходимо будет добавить для позиционирования:

// Center X value in the view 
[NSLayoutConstraint constraintWithItem:button 
          attribute:NSLayoutAttributeCenterX 
          relatedBy:NSLayoutRelationEqual 
           toItem:self.view 
          attribute:NSLayoutAttributeCenterX 
          multiplier:1 
           constant:0]; 

// Center button's Y value to the bottom of the view 
[NSLayoutConstraint constraintWithItem:button 
          attribute:NSLayoutAttributeCenterY 
          relatedBy:NSLayoutRelationEqual 
           toItem:self.view 
          attribute:NSLayoutAttributeBottom 
          multiplier:1 
           constant:0];