(編輯:增加了更多的在底部的信息)自定義按鈕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