Я использую раскадровки для компоновки моих представлений. Я позиционирую виды с ограничениями. У меня вопрос об изменении размера ограничения. Как установить различные константы ограничений для разных размеров устройств без программирования if/else. Есть ли способ установить его в раскадровке? Я имею верхнее ограничение для родительского макета, например, с постоянным значением 10. Это нормально для экрана iPhone 5, но на экране iPhone 6/6 plus он должен быть выше 10. Таким образом, ограничение должно быть рассчитано. В настоящий момент я вычисляю масштабный коэффициент следующим образом:Значения ограничений автоматической компоновки iOS для разных размеров устройств
let bounds = UIScreen.mainScreen().bounds;
let width = bounds.size.width;
let scaleFactor = width/320; // 320 because base design was created for iPhone 5
// calc top constraint connect from storyboard
self.topConstraintView.constant = self.topConstraintView.constant * scaleFactor;
Правильно ли это иметь дело с ограничениями на разных устройствах?
Есть ли конкретная причина, по которой вы не могли бы сделать это в построителе интерфейса? Измените размеры классов и установите ограничения для классов, которые вы хотите поддерживать. –
Как установить различные константы ограничений для разных размеров устройства в построителе интерфейса? Я не знаю, как это сделать. – alf1990
В построителе интерфейса вы не можете сделать это с тем же самым xib, там arent варианты для реализации ограничений, меняя тип устройства –