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

时间:2013-05-13 06:59:41

标签: ios

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

2 个答案:

答案 0 :(得分:1)

如果您定位iOS 5及以上版本,则可以使用此功能

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

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

您可能需要添加自定义NavBar按钮。

此处还可以查看Answers

答案 1 :(得分:0)

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

  1. 创建UIView的子类(这将是您的自定义导航栏)
  2. 创建一个包含UINavigationController实例的自定义视图控制器容器
  3. 使UINavigationController的实例不显示其导航栏
  4. 将自定义导航栏和导航控制器的视图添加为自定义视图控制器容器的子视图(同时将您的UINavigationController实例添加为自定义视图控制器容器的子控件)
  5. 添加用于将视图控制器弹出和推送到自定义视图控制器容器的方法
  6. 这样您就可以完全控制自定义导航栏。您可以在 UIViewController 的文档中阅读有关视图控制器包含的内容。