(编辑:增加了更多的在底部的信息)自定义按钮UINavigationBar的不显示
首先,我有过类似的帖子看,并试图自己的答案,但没有运气:(我有一个自定义导航条(只自定义背景图片),我尝试添加自定义后退按钮。
// custom back button.
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backImg = [UIImage imageNamed:@"btn_back.png"];
backBtn.titleLabel.text = @"";
[backBtn setBackgroundImage:backImg forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(backPressed) forControlEvents:UIControlEventTouchUpInside];
backBtn.frame = CGRectMake(0, 0, 54, 33);
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem.title = @"";
上面的代码是为了添加按钮,但它并没有在导航栏上显示,我仍然可以点击这里它的意思出现的区域它确实使我回到以前的视图?!删除上面的代码显示标准后退按钮。
有什么建议吗?提前致谢!
(编辑)
嗨再次家伙,
我尝试了所有你的建议,仍然没有运气:(也许我应该早一点,我用下面的代码有一个自定义导航栏图像提及。这可能会影响我的自定义后退按钮图像的显示。
此代码根据我设置的参数再次显示自定义图像。谢谢进一步的帮助!
// custom navigation bar image
@implementation UINavigationController (CustomImage)
// set the background image for the nav bar.
- (void) setCustomNavBar:(NSInteger)screen {
UIImage *navBarImg;
switch (screen) {
case kCreateHuntScreenIdentifier:
navBarImg = [UIImage imageNamed:@"title_create-hunt.png"];
break;
case kCreateLocationsScreenIdentifier:
navBarImg = [UIImage imageNamed:@"title_create-location.png"];
break;
case kListNewLocationsScreenIdentifier:
navBarImg = [UIImage imageNamed:@"title_choose-location.png"];
break;
default:
break;
}
UIImageView *imgView = [[UIImageView alloc] initWithImage:navBarImg];
[[[self.navigationBar subviews] objectAtIndex:0] removeFromSuperview];
[self.navigationBar addSubview:imgView];
[imgView release];
}
@end
确定,如果我不显示导航栏自定义后退按钮做的自定义图像显示!将尝试看看我是否能同时展示,如果我弄清楚发生了什么,我会在这里发布更新! – bennythemink 2010-12-23 12:16:21