добавление наложения нижнего колонтитула в главное окно, которое будет отображаться над каждым подпредставлением, в приложении, использующем контроллер навигации - PullRequest
2 голосов
/ 05 февраля 2010

Я работаю над приложением для iPhone, в котором я использую контроллер навигации (UINavigationController) для навигации по различным дочерним представлениям, и я хотел бы добавить пользовательское представление в основное окно или контроллер навигации в качестве Наложение нижнего колонтитула, которое отображается поверх всех дочерних представлений. Я пробовал это через интерфейсный конструктор и программно, но, похоже, ничего не работает.

Работая в конструкторе интерфейсов, я попытался добавить нижний колонтитул в нижнюю часть главного окна и уменьшить высоту дочерних представлений, чтобы нижний колонтитул отображался, но дочерние элементы, кажется, меняют размер, чтобы заполнить все окно. Я попытался поиграть с некоторыми опциями, такими как «хочет полноэкранный режим», «изменить размер представления из NIB», попытался изменить размер контроллера навигации и не смог. Та же проблема, когда я пытаюсь добавить его программно.

Я могу добавить панель инструментов к контроллеру навигации в конструкторе интерфейсов. Можно ли вместо этого добавить UIView? Или даже прикрепить UIView к панели инструментов? Я уверен, что есть простой способ сделать то, что я пытаюсь, я надеюсь, что у кого-то там был подобный опыт.

Спасибо!

1 Ответ

1 голос
/ 05 февраля 2010

Если вы хотите иметь настраиваемое представление размера панели инструментов, вы можете просто расположить его там, где была бы панель инструментов, и добавить его в окно в качестве подпредставления над вашим контроллером навигации. Тогда вам не нужно беспокоиться об автоматическом изменении размера, разрушающем ваше удовольствие, вы просто всегда будете рисовать вид на панели инструментов navController.

[myWindow insertSubview:newView aboveSubview:myNavController.view]

Просто убедитесь, что вы настраиваете размер изображения, если хотите реагировать на повороты устройства, так как размер панели инструментов меняется.

Вы также можете успешно создать иерархию представлений, которая выглядит следующим образом:

UIWindow
  Subview 1: Custom view which holds app content
    Subview 1a: UINavigationController with your main view as its root view
  Subview 2: Custom view which holds your footer content
    Subview 2a...2z: whatever views you need inside your footer

Таким образом, вы можете сделать свой нижний колонтитул любой высоты, какой захотите. Просто установите соответствующие свойства autoresizingMask в двух подпредставлениях вашего окна, чтобы вы могли обеспечить правильное позиционирование и автоматически реагировать на изменения ориентации интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...