苹果手机 。自定义导航控制器

时间:2011-11-01 22:06:19

标签: iphone ios ipad

我正在使用生成导航控制器项目的Xcode模板。

当它开始时,代理会加载RootViewController的{​​{1}}。

我看到NavigationController带有后退按钮。

现在,我在navigationBar内。

我如何在天堂的名字中自定义viewDidLoad

即使是摆脱后退按钮的简单任务也是不可能的。

我需要的是:设置一个覆盖整个navigationBar区域的UIView(我会用它在整个应用中显示AdMob / iAd)

如何真正访问导航栏?

这样做不起作用。

navigationBar

2 个答案:

答案 0 :(得分:2)

您不应该在导航栏中添加子视图(导航栏布局其已知的子视图本身以适合调整标题视图的上下文,具体取决于它是否具有后退按钮,leftbtn,rightbtn等)

如果您需要自定义背景,那么从iOS5开始,您就拥有backgroundView属性

如果您不想使用后退按钮,只需将与相应UIViewController关联的hidesBackButton的{​​{1}}属性设置为YES即可。 (不能错过NavigationItem文档中的此属性)

如果您需要任何其他自定义,只需阅读文档,一切都在那里解释。在UINavigationBar& UINavigationItem类引用,还有View Controller Programming Guide,它解释了所有这些以及每个类和组件如何交互以使NavCtrl工作。

答案 1 :(得分:1)

如果您根本不想看到或使用导航栏,但想在每个屏幕的同一点想要一个令人讨厌的,始终可见的广告栏,您可以将您的广告视图添加到窗口本身,这然后将在您的导航控制器及其呈现的任何位置。

我不知道Apple是否会赞同你的设计。我没有使用iAd或很多应用程序,但根据我的经验,它们往往位于屏幕的底部,而不是顶部 - 可能有太多可能意外点击一个,特别是使用ios5通知。