故事板中未显示导航栏
Posted
技术标签:
【中文标题】故事板中未显示导航栏【英文标题】:Navigation Bar not showing in Storyboard 【发布时间】:2014-12-22 20:08:14 【问题描述】:我在 viewController 中嵌入了一个导航控制器,并且显示了一个导航栏项目(在大纲编辑器中),我可以更改标题,但导航 bar 没有显示在(大纲编辑器),因此我无法更改条形颜色。所以我尝试以编程方式添加导航栏,如下所示:
.h file
@property (strong, nonatomic) UINavigationBar *nav;
.m file
nav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
self.nav.tintColor = [UIColor blueColor];
[self.view addSubview:nav];
结果如下:
更新
【问题讨论】:
更新了任务 黑白的,不错 【参考方案1】:您在上面回答中的最后一条评论 “我将颜色设置为蓝色,它在情节提要中显示为蓝色” 在这里是冲突的。
我猜你无法为导航栏设置色调。因为 Storyboard 不会为导航栏显示任何颜色,所以它仅在运行时可见(在模拟器中)。
即使你改变了导航栏的色调,它仍然显示为白色。
让我们看看:
-
正如“matt”所说:您必须更改
UINavigationController
的条形色调颜色,这是您的应用程序的起点。选择作为初始根视图控制器的导航控制器。
-
从突出显示的导航控制器下方的左侧区域中选择导航栏。在 Attribute Inspector 中,您可以看到导航栏的属性。在此部分中,您可以看到 Bar Tint,它现在显示为 Default。
-
根据需要从属性中更改 Bar Tint 颜色。注意这里的变化在 Storyboard 中不可见,Bar 颜色将在 Storyboard 中保持白色,仅在模拟器/设备中可见。
-
在模拟器中查看输出。
【讨论】:
【参考方案2】:不要那样做。删除该代码。导航控制器已经有了导航栏;不要添加另一个。
你看错了场景。有一个导航控制器场景和一个视图控制器场景。导航栏属于导航控制器场景。
【讨论】:
所以我把viewController的颜色改成了白色。 (之前很清楚,我想我没意识到。)然后我把代码删掉了,我把导航栏变成了蓝色,导航栏的颜色还是和上图一样? 颜色没有正确改变。我认为这是因为我以编程方式制作了一个新的 navigatoinBar。你知道修复它的方法吗? 好吧,我在回答中告诉过你删除创建新导航栏的代码,不是吗?如果你不按照我的建议去做,我的建议不会奏效,对吗? 我删除了它,现在它正在输出它,如我的更新中所示。我将颜色设置为蓝色,它在情节提要中显示为蓝色,但是当我在模拟器上运行它时,它显示为如上图所示【参考方案3】:我使用的是适用于 ipad 和 iphone 的 viewController。现在在那个 viewController 中,我为每个 viewController 插入了一个导航控制器。 (令人惊讶的是,xcode 允许您这样做。当时我不知道这是错误的。)所以我在不是第一个的导航控制器上设置了条形着色颜色。 (它是第二个视图导航控制器)因此,它在采用哪种颜色、第一个导航控制器或当前导航控制器的颜色方面存在冲突。
【讨论】:
以上是关于故事板中未显示导航栏的主要内容,如果未能解决你的问题,请参考以下文章
我不能在故事板中同时将标题和图像设置为导航栏上的右侧栏项吗?