iPhone UINavigationController问题(隐形按钮,标题)

时间:2010-11-08 08:45:53

标签: iphone uinavigationcontroller uinavigationbar uinavigationitem

UINavigationController有两个问题。

问题1

在初始视图中,我以编程方式添加了rightBarButtonItem。

当我向右推导航视图时,一切正常,它会显示一个带有上一个视图标题的后退按钮。

当我点击后退按钮时,我会回来。但是这个按钮消失了。但它并没有真正消失,它只是隐形,因为它仍然可以被点击。

问题2

当我按下右侧的viewController时,我无法设置标题。我在用

推送视图之前尝试过它
myViewController.title = @"someTitle";

我也在viewController里面用

尝试了
self.title = @"someTitle";

但这里没有任何作用。

2 个答案:

答案 0 :(得分:1)

我发现了问题:

我正在向navigationBar添加自定义背景图片。不知何故,这个图像超过了标题/按钮。

因此,如果您想要实现自定义背景图片,请勿使用此功能:

UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
[backgroundImage setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"headerBg" ofType:@"png"]]];
[navigationController.navigationBar insertSubview:backgroundImage atIndex:0];
[backgroundImage release];

但请改用:

@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"headerBg.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

答案 1 :(得分:0)

问题1: 听起来很奇怪。真的没有答案: - /

问题2: 你可以在这上面提供更多的代码片段,比如你试图设置标题的整个方法体吗?