Я хочу использовать пользовательский UINavigationBar
в одном из моих представлений, который не является частью любой UINavigationController
-иерархии. Когда я перетаскиваю UINavigationBar
в Storyboard, он выглядит следующим образом:
Эта строка - 44 пикселя, что было бы достаточно, если строка состояния не разделила бы это пространство. Поскольку iOS7 позволяет использовать весь экран, включая пробел для строки состояния, UINavigationBar
должен быть 64px, а не 44px.
Если я подключу представление к иерархии UINavigationController
, то он будет выглядеть правильно:
Я где-то читал, что , если UINavigationBar
имеет свойство barPosition:
, установленное на UIBarPositionTopAttached
, тогда панель будет 64px. Это, однако, readonly
-property.
Мои результаты поиска показали только то, что я считаю "обходным". Добавляя бесполезный UINavigationController
до этого UIViewController
, я могу притворяться, что у меня есть иерархия, и он автоматически добавит UINavigationBar
с 64px.
Не существует действительно, чтобы иметь "жулик" (без помощи контроллера навигации) UINavigationBar
, который охватывает 64px?
Если это так, есть ли веские причины, почему?
(Я не говорю, что UINavigationBar
должен быть 64px по умолчанию, но в инспекторе должен быть вариант)
(Я также вижу, что люди отвечают на программные способы решения этого вопроса. Несмотря на то, что эти ответы работают, мне все равно придется разрабатывать раскадровку с учетом этого (пробел). Я хочу знать, если это возможно установить это в раскадровке или, вернее, почему это не разрешено?)