【发布时间】:2011-10-31 21:20:19
【问题描述】:
我在标签控制器下的 NIB 中设置了一些导航控制器。我正在尝试在每个导航控制器的顶视图控制器中设置相同的徽标。
在出现的第一个视图控制器中,我在viewDidLoad 中有这段代码:
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"green-noback-logo-only.png"]] autorelease];
这行得通(好吧,几乎,我将不得不调整图像大小)并用我的徽标图像替换 NIB 中设置的文本。
但是,这个完全相同的代码在其他两个视图控制器中都不起作用。相反,我在 NIB 中为标题设置的任何文本都会显示。我试过将该代码放在initWithCoder, viewDidLoad, viewDidAppear 和viewWillAppear 中,但它什么也没做。我明确地将leftBarButtonItem 设置为 nil,尽管我猜它一开始就是 nil。我还检查了 self.navigationItem 在我尝试设置 titleView 的任何地方都不为零。
知道其他两个控制器有什么特别之处会阻止它们设置 titleView 吗?否则,有没有人有更万无一失的方法来设置titleView?
【问题讨论】:
-
好的,多亏了 Paul N,我发现有些地方不对劲,因为 navigationController 为 nil。我正在调查。
标签: iphone objective-c cocoa-touch uinavigationcontroller uinavigationitem