Почему iPhone Interface Builder не позволяет мне устанавливать координаты X, Y верхнего уровня UIView? - PullRequest
4 голосов
/ 10 декабря 2008

Почему iPhone Interface Builder не позволяет мне устанавливать координаты X, Y верхнего уровня UIView? (Это означает, что представление, прямым родителем которого является UIViewController.) Поля X и Y на вкладке Размер представления отображаются серым цветом Я могу изменить значения X, Y в коде во время выполнения, так почему бы не в Интерфейсном Разработчике?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 12 декабря 2008

Поскольку представление, принадлежащее UIViewController, заполняет доступное пространство в его родительском элементе. Его родителем будет либо UIWindow, либо представление, управляемое чем-то вроде UINavigationController или UITabBarController. Это будет позиционировать вид для вас. Если вы хотите контролировать положение вида, сделайте его подпредставлением вида, управляемого вашим UIViewController.

1 голос
/ 21 августа 2012

В Xcode 4.3.2 вы можете выбрать size-> freeform в инспекторе атрибутов.

1 голос
/ 20 сентября 2011

Я согласен, что в IB отсутствует функция. Для базового использования, т. Е. Создания единого представления верхнего уровня для размещения в стандартном контроллере представления, разумеется, нет необходимости устанавливать источник представления. Однако NIB разработаны для того, чтобы иметь возможность хранить любое количество представлений верхнего уровня в произвольном графе объектов. Поскольку это позволяет вам использовать эти представления любым удобным для вас способом, в том числе программно встраивать их в любое другое представление, блокировать эти элементы управления в IB не нужно. На связанной, но забавной ноте, если вы перемещаете позиционированный вид на верхний уровень, IB сам запоминает свою относительную позицию для отображения. Однако эта позиция недоступна после загрузки NIB.

...