(отредактировано: добавлено больше информации внизу)
Сначала я просмотрел похожие посты и попробовал их ответы, но безуспешно :( У меня есть пользовательская панель навигации (просто пользовательское фоновое изображение), и япытаюсь добавить пользовательскую кнопку возврата.
// 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 = @"";
Приведенный выше код предназначен для добавления кнопки, но она не отображается на панели навигации. Я все еще могу щелкнуть область, в которой она должна отображаться, иэто возвращает меня к предыдущему виду ?! При удалении вышеуказанного кода отображается стандартная кнопка возврата.
Любые идеи? Заранее спасибо!
(edit)
Приветеще раз, ребята,
Я испробовал все ваши предложения, но все еще не повезло :( Возможно, я уже упоминал ранее, что у меня есть собственное изображение навигационной панели с использованием следующего кода. Это может повлиять на отображение моей пользовательской кнопки возвратаimage.
Этот код отображает пользовательское изображение в зависимости от параметра, который я установил. Еще раз спасибо за дополнительную помощь!
// 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