Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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 iOS导航栏_Iphone_Ios_Uinavigationcontroller_Uinavigationbar - Fatal编程技术网

Iphone iOS导航栏

Iphone iOS导航栏,iphone,ios,uinavigationcontroller,uinavigationbar,Iphone,Ios,Uinavigationcontroller,Uinavigationbar,这可能很简单。。但我不知道这里的最佳做法是什么 我有一个带有4个选项卡的Tabbar控制器,其中3个应该是UINavigationController,另一个也应该有UINavigationBar,但不应该是导航控制器本身。 现在我想给UINavigationBar一个色调和一个动作按钮。我想在界面生成器中执行此操作。 导航栏应该总是相同的,我只想创建一次 但我到底在哪里做呢?我会创建一个只包含UINavigationBar的.xib文件并以某种方式链接到它吗 我在这里很困惑,大多数教程只讨论一

这可能很简单。。但我不知道这里的最佳做法是什么

我有一个带有4个选项卡的Tabbar控制器,其中3个应该是UINavigationController,另一个也应该有UINavigationBar,但不应该是导航控制器本身。 现在我想给UINavigationBar一个色调和一个动作按钮。我想在界面生成器中执行此操作。 导航栏应该总是相同的,我只想创建一次

但我到底在哪里做呢?我会创建一个只包含UINavigationBar的.xib文件并以某种方式链接到它吗


我在这里很困惑,大多数教程只讨论一个导航控制器的导航栏,但在我的例子中,不同的视图控制器需要相同的导航栏。

导航栏随导航控制器一起提供,也可以单独提供。它是UIView的一个子类

您不能简单地与所有控制器和非navigationController共享导航栏。我指的是导航栏的一个实例。甚至不能为navigationController设置导航栏。它只有可读性

据我所知,您正试图使每个控制器的导航栏看起来都一样,对吗?
例如,您可以在
init
方法中对UINavigationController子类进行设置,并初始化该子类以将其添加到视图中

但是非UINavigationController导航栏呢?

这很简单:只需将子类navigationController添加到该选项卡。您不必将其用作导航控制器。您只需将视图添加到他的视图中,就像添加到标准的ViewController一样。

为什么一个导航栏需要不同的视图控制器?你说你只想在其中一个标签上看到它。谢谢!我对uinavigationcontroller进行了子类化,并在appdelegate中使用了NavController的子类。它在编程上运行良好(我将色调设置为红色来尝试),但是有没有办法在IB中自定义导航栏?只是想知道……不,没有。这就是为什么我们都要做自己的工作(编程)。:-)