Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用UIToolBar和uitabarcontroller查看层次结构_Iphone_Uitabbarcontroller_Uitoolbar - Fatal编程技术网

Iphone 使用UIToolBar和uitabarcontroller查看层次结构

Iphone 使用UIToolBar和uitabarcontroller查看层次结构,iphone,uitabbarcontroller,uitoolbar,Iphone,Uitabbarcontroller,Uitoolbar,我有一个rootViewController,它是一个UITabBarController。该控制器中存在UIToolBar,因为它有一个应用程序全局搜索栏。在某些选项卡中,应该有特定的UIBarButtonims或UISegmentedControl,以及搜索栏。在其他选项卡中,工具栏中应该没有任何内容,只有标题 布置视图的好方法是什么?当前,根据选择的选项卡,rootViewController中的主工具栏可以按原样使用,也可以添加一个UISegmentedControl,完全隐藏并替换为另

我有一个rootViewController,它是一个UITabBarController。该控制器中存在UIToolBar,因为它有一个应用程序全局搜索栏。在某些选项卡中,应该有特定的UIBarButtonims或UISegmentedControl,以及搜索栏。在其他选项卡中,工具栏中应该没有任何内容,只有标题

布置视图的好方法是什么?当前,根据选择的选项卡,rootViewController中的主工具栏可以按原样使用,也可以添加一个UISegmentedControl,完全隐藏并替换为另一个具有自己工具栏的viewController,等等。对我来说,我认为在自己选项卡中的每个viewController都可以有自己的工具栏,并参考全局功能,而不是隐藏/显示不同的工具栏


对不起,如果这是一个复杂的问题。只是想知道人们是否有过这样的经历。谢谢。

简单的回答是,没有什么好方法可以做到这一点。如果您使用的是选项卡栏控制器,那么选项卡栏在屏幕底部始终可见。大概每个选项卡都是一个UINavigationController,顶部有一个导航栏。此布局中没有放置工具栏按钮的适当位置

更好的设计可能是放弃uitabarcontroller,使用UINavigationController作为根视图控制器。对于应用程序的每个视图,都可以有一个表视图,而不是选项卡。然后,在屏幕底部将有空间放置工具栏。事实上,UINavigationController支持在底部有一个工具栏。您只需重写该属性以返回应显示在每个子视图控制器中的项目。您只需在UINavigationController上将toolbarHidden设置为NO即可