Как сделать любое подпредставление гибким в отношении фрейма типа 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];