在 iOS 5.0 中一切都很好,但是当我在 iOS 4.0 中运行我的代码时,导航栏按钮的背景图像以及导航中的标题没有显示出来。
这是我正在使用的代码:
// check for version 5.0 support
navController = [[[UINavigationController alloc] initWithRootViewController:self.viewController] autorelease];
UINavigationBar *navigationBar = [navController navigationBar];
if ([navController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
UIImage *image = [UIImage imageNamed:@"Nav_Bar.png"];
[navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}
else
{
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"Nav_Bar.png"]];
[self.navController.navigationBar addSubview:imageView];
}
然后在viewDidLoad
:
self.title = @"MyTitle";
self.leftBTN= [UIButton buttonWithType:UIButtonTypeCustom];
[leftBTN setImage:[UIImage imageNamed:@"BTN1.png"] forState:UIControlStateNormal];
[leftBTN setTitle:@"Edit" forState:UIControlStateNormal];
[leftBTN addTarget:self action:@selector(editOption) forControlEvents:UIControlEventTouchUpInside];
[leftBTN setFrame:CGRectMake(0, 0, 60, 30)];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:leftBTN] autorelease];
任何人都可以请解释一下,为什么导航控制器中没有显示图像和标题。此外,如果我点击那个框架,按钮的动作是有效的,唯一的问题是按钮没有显示。