"Я не до конца понимаю, как изменить размеры своих контейнеров UIView, чтобы изменить их размер, чтобы они подходили для меньших экранов." -UIViews не будет изменять размер в соответствии с экраном, вам придется добавить ограничение для нихтак что они выбирают свою ширину и высоту.В качестве альтернативы, вы должны установить ограничение для фиксированной высоты и ширины.
По моему мнению, для поддержки меньшего размера экрана вы должны использовать scrollviews как родительское представление.Так что пользователь может прокручивать приложение.Также вы можете указать относительную ширину и высоту для представлений внутри scrollview.Scrollviews требуются, потому что вы всегда будете хотеть некоторую минимальную ширину и высоту для кнопок, надписей и т. Д. В противном случае на больших экранах, таких как Ipad, они будут очень большими, а на меньших экранах они будут очень маленькими.
Вы можете использоватьTPKeyboardAvoidingScrollView: Как использовать TPKeyboardAvoidingScrollView , или просто Google для этого.Он обрабатывает задачу отображения и скрытия клавиатуры, что, в противном случае, является головной болью.
Вот как я думаю, вы можете решить вашу проблему: Задайте минимальную высоту и ширину для вашего верхнего вида (желательно прокрутки).Теперь добавьте другие виды внутри него и используйте относительную ширину и высоту.В относительной ширине и высоте вы даете значения в соотношениях.Здесь вы можете получить представление о том, как это сделать: - Задание ширины в% значений в autolayout .Также добавьте дополнительные ограничения на ваши внутренние виды для минимальной высоты и ширины, чтобы они не опускались ниже определенного размера.
Я бы не советовал, но вы всегда можете использовать UIScreen.main.bounds.size.width
и UIScreen.main.bounds.size.height
, чтобы получить ширинуи высота экрана.И в соответствии с установленными значениями для ваших ограничений в вашем классе представления / контроллера.Вот ссылка для установки значения ограничения в классе swift: программно установить значение ограничения