Как сделать любое подпредставление гибким в отношении фрейма типа iPhone, то есть iPhone 5, 5S, 6, 6+?

Я должен добавить текстовое поле, и это 210X30 для iPhone 5. Я хочу растянуть его в соответствии с iPhone 6 и iPhone6 ​​+. Я не хочу фиксировать ширину или высоту текстового поля, а также не хочу фиксировать горизонтальное расстояние от краев iPhone. Я хочу, чтобы он был гибким и сохранял соотношение пространства, которое у него есть в случае iPhone 5. Пожалуйста, дайте мне знать, какие ограничения мне нужно наложить, чтобы добиться этого. Пожалуйста, дайте мне знать, если мой вопрос неясен, я объясню подробно, так как уверен, что в скором времени с этим сценарием столкнется каждый разработчик iOS.

1 ответ

Решение

Похоже, вы хотите сохранить соотношение сторон: то есть 210x30 на экране iPhone 5 с шириной 320, но примерно 246x35 на iPhone 6 с шириной 375.

В Интерфейсном Разработчике вы можете добавить ограничение Aspect Ratio. В коде вы можете добавить

    [NSLayoutConstraint constraintWithItem:self.label 
       attribute:NSLayoutAttributeHeight 
       relatedBy:NSLayoutRelationEqual 
       toItem:self.label 
       attribute:NSLayoutAttributeWidth 
       multiplier:210.0/30.0 
       constant:0];
Другие вопросы по тегам