0

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

4

2 回答 2

1

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

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

或者

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

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

也看看这里的答案

于 2013-05-13T07:13:51.840 回答
0

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

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

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

于 2013-05-13T07:12:07.710 回答