2010-02-05 1 views
2

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

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

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

Спасибо!

ответ

1

Если вы хотите, чтобы пользовательский вид на панели инструментов был настроен, вы можете просто расположить его там, где была бы панель инструментов, и добавить его в окно в виде надзора над навигационным контроллером. Тогда вам не нужно беспокоиться о том, что авторезистентно разрушает вашу забаву, вы всегда будете рисовать свой взгляд на панели инструментов 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 в двух подзонах вашего окна, чтобы вы могли обеспечить правильное позиционирование, а также автоматически реагировать на изменения ориентации интерфейса.