В моем приложении я использую пользовательские UINavigationBar и настраиваемые элементы UIBarButtonItems в NavigationController. Мой (настраиваемый) NavigationBar выглядит отлично, но когда я хочу разместить свой собственный backBarButtonItem и RightBarButtonItem, это пойдет не так.UINavigationBar troubles
Установка моего собственного backBarButtonItem не работает вообще (после метода PushViewController). Я использую этот код:
UIButton *home = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *homeImage = [UIImage imageNamed:@"Topbarback"];
[home setBackgroundImage:homeImage forState:UIControlStateNormal];
home.frame = CGRectMake(0, 0, 51, 30);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithCustomView:home];
[self.navigationItem setBackBarButtonItem:backButton];
У меня также есть свои праваBarButtonItem. Я могу получить его на моем навигационном блоке, но он не вызывает метод, который я хочу сделать. Вот мой код для этого один:
UIButton *home = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *homeImage = [UIImage imageNamed:@"Topbarback"];
[home setBackgroundImage:homeImage forState:UIControlStateNormal];
home.frame = CGRectMake(0, 0, 51, 30);
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
initWithCustomView:home];
// self.navigationItem.backBarButtonItem = cancelButton;
[self.navigationItem setBackBarButtonItem:cancelButton];
Через пару часов, глядя в Интернете для решения, без результата, я надеюсь, что вы, ребята, можете мне помочь!
Спасибо!
EDIT: К сожалению, отправил неправильный код последнего выпуска:
UIButton *home2 = [UIButton buttonWithType:UIButtonTypeCustom];
[home2 setTitle:@"Sort" forState:UIControlStateNormal];
[home2.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15]];
UIImage *homeImage2 = [UIImage imageNamed:@"Topbarbutton"];
[home2 setBackgroundImage:homeImage2 forState:UIControlStateNormal];
home2.frame = CGRectMake(0, 0, 77, 30);
UIBarButtonItem *cancelButton2 = [[UIBarButtonItem alloc]
initWithCustomView:home2];
[cancelButton2 setTarget:self];
[cancelButton2 setAction:@selector(sorteren)];
self.navigationItem.rightBarButtonItem = cancelButton2;
Если я получаю ситуацию правильно, Панель навигации показывает leftBarButton и rightBarButton правильно в Коренной View Controller, пока не нажать другую View Controller? – barley