如何以编程方式创建自定义导航栏?

Posted

技术标签:

【中文标题】如何以编程方式创建自定义导航栏?【英文标题】:How to create custom navigation bar programmatically? 【发布时间】:2013-05-13 06:59:40 【问题描述】:

我是开发人员 目标 c,我在设置方面需要帮助 导航控制器上的自定义导航栏 以编程方式,我不使用故事板或 xib。

【问题讨论】:

使用这个...***.com/questions/8548313/custom-navigation-bar 【参考方案1】:

如果你的目标是 ios 5 及更高版本,你可以使用它

[MyNavigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"customNavBar.png"] forBarMetrics:UIBarMetricsDefault];

[[MyNavigationController.navigationBar appearance] setBackgroundImage:navBackground forBarMetrics:UIBarMetricsDefault];

您可能需要添加自定义导航栏按钮。

还可以在这里查看Answers。

【讨论】:

【参考方案2】:

如果您想要的不仅仅是自定义外观,那么您可以:

    创建 UIView 的子类(这将是您的自定义导航栏) 创建一个包含 UINavigationController 实例的自定义视图控制器容器 使 UINavigationController 的实例不显示其导航栏 将自定义导航栏和导航控制器的视图添加为自定义视图控制器容器的子视图(也将 UINavigationController 实例添加为自定义视图控制器容器的子控制器) 添加将视图控制器弹出和推送到自定义视图控制器容器的方法

这样您就可以完全控制您的自定义导航栏。您可以在 UIViewController 的文档中阅读有关视图控制器包含的信息。

【讨论】:

以上是关于如何以编程方式创建自定义导航栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在导航栏中添加自定义视图?

iPad导航栏自定义高度

将自定义导航栏分配给 UINavigationController [重复]

Ios Swift:在自定义标签栏中显示导航栏

以编程方式创建一个视图,将框架设置为超级视图的框架?

在 UINavigationController 中设置自定义导航栏类