Как изменить размер представления без авторазметки в iOS

У меня есть проблема, которую я не могу понять, изменяя размеры. Моя цель развертывания - iOS 5.0, поэтому я отключил auto layout в конструкторе интерфейсов, чтобы сделать его совместимым с iOS 5.0. Размер представления не изменяется автоматически. Ниже приведен пример:

Снимок Интерфейсного Разработчика:

введите описание изображения здесь

4-дюймовый экран:

введите описание изображения здесь

3,5-дюймовый экран (есть проблема):

введите описание изображения здесь

Как видите, кнопка в нижней части экрана выходит за пределы экрана. Фоновое изображение также не изменяется автоматически. Я не могу понять, как я могу решить эту проблему. Может кто-нибудь мне помочь?

1 ответ

Решение

Добро пожаловать в мир pre-autolayout! Вы должны установить авторазмер "пружины и распорки" так, чтобы материал внизу был прикреплен к нижней части суперпредставления, а не к вершине. Итак, стойки внизу, пружины к вершине. Таким образом, по мере того как суперпредставление становится все больше и меньше, материал внизу перемещается вместе с дном.

Вы могли бы альтернативно переместить материал в коде, но в этой ситуации нет необходимости.

Вот раздел об авторазмере из моей книги:

http://www.apeth.com/iOSBook/ch14.html

Часть о суперпредставлении и неизменяемости фонового изображения - это другой вопрос. Это вид UIViewController? Если это так, то, если вы поместите UIViewController в иерархию parent-child контроллера представления правильно, его родительский размер будет изменен. Но вы не показали никакого кода, так что невозможно сказать, каким может быть это представление или как оно должно попасть в интерфейс.

Другие вопросы по тегам