2012-01-03 3 views
0

Я прочитал несколько ответов на этот вопрос, но не мог понять, как это сделать. Я использую Xcode 4.2 с ARC и без раскадровки.Как скрыть UITabBar и показать UIToolBar?

Я разрабатываю приложение на основе шаблона приложения TabBar и расширил его, чтобы он содержал 4 UITabBars. Я не использую UINavigationController, но вместо этого используйте UINavigationBar рядом со строкой состояния. Когда приложение загружается с первой показанной вкладкой, у меня есть кнопка на UINavigationBar, и когда я ее нажимаю, я хочу скрыть UITabBar и вместо этого показать UIToolBar в том же месте, где находился UITabBar.

Я попытался скрыть и показать с помощью скрытого имущества (скрывая UITabBar и показывая UIToolBar). Случается, что UITabBar скрыт, но UIToolBar показан выше того места, где раньше был показан номер UITabBar. Это выглядит уродливым, и я хочу, чтобы его показывали в самом низу экрана.

Я думаю, что не могу использовать hidesBottomBarWhenPushed, так как я не использую UINavigationController, но вместо этого использую панель навигации непосредственно.

Кроме того, я хочу вернуться к показу UITabBar и скрыть UIToolBar при нажатии той же кнопки на UINavigationBar.

+0

вы можете поделиться код и вы можете разместить как вы создаете «рамку» для UIToolbar? – CarlJ

+0

UITabBar создается программно (выполняется с помощью шаблона приложения UITabBar). Я использовал IB, чтобы перетащить UIToolBar в файл xib и добавил IBOutlet в файле .h и был синтезирован в файле .m на UIViewController, показанном на первой вкладке. Используя синтезированное свойство, я смог показать панель инструментов. Я не использую какой-либо код для управления рамкой на панели инструментов. Пожалуйста, порекомендуйте. – Hema

+0

Я не знаю общий контекст для этого, но представляет ли «modal UIViewController» над вашим tabBarController более логичный пользовательский интерфейс? –

ответ

1

Я не уверен, что моя идея будет работать для вашего сценария. Вот она ...

но раньше, просто позвольте мне сказать вам, что скрывается UITabBar, в отличие от прячась UINavigationBar не анимированный. Поэтому для меня скрытие tabBar не является удобным для пользователя способом, если вы не создадите свой собственный подкласс UITabBarController, который оживляет скрытие UITabBar.

Вы можете использовать методы presentModalViewController:animated и dismissModalViewControllerAnimated:. ViewController, который показывается модально, может иметь UINavigationBar, он выталкивается из нижней части экрана и покрывает UITabBar анимацией.

Надеюсь, что это поможет.

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

+0

Ты мужчина. Я следовал тому, что вы сказали, что определенно имеет смысл. Теперь приложение выглядит круто и работает очень хорошо. Спасибо за подсказку, хотя! – Hema