Контроллер навигации, который не использует весь экран - PullRequest
1 голос
/ 16 сентября 2010

У меня есть навигационный контроллер, который я не хочу использовать весь экран.В частности, я хочу поместить изображение логотипа в панель в верхней части экрана.К сожалению, навигационный контроллер не выглядит таким образом.В конструкторе интерфейсов я не могу заставить его занимать часть экрана.Как бы вы достигли эффекта изображения логотипа вверху и контроллера навигации, занимающего остальную часть экрана?

1 Ответ

2 голосов
/ 16 сентября 2010

Я сам этого не делал, но это должно быть довольно просто. Вам понадобится контроллер представления-оболочки, чтобы быть его родителем (назовем его MyWrapperViewController), и его иерархия представления может в конечном итоге выглядеть примерно так:

UIView -+ (hooked up to the view outlet in MyWrapperViewController)
        |
        +-- UIView (Your logo goes here)
        |
        +-- UIView (The "child" navigation controller's view)

Представление логотипа может быть UIView, UIImageView или любым другим классом, подходящим для содержимого.

Когда вы создаете UINavigationController где-то для своего MyWrapperViewController класса, вы можете изменить его view bounds до размера, меньшего, чем у полноэкранного (возможно, размер экрана минус размер вашего логотипа, соответствующее смещение origin, чтобы оно было ниже логотипа), а затем добавьте его в качестве подпредставления.

...