У меня есть панель навигации, в которой есть элемент навигации, который содержит 2 кнопки со стрелками, они создаются в раскадровке, и я хотел изменить одну из кнопок во время выполнения, теперь это работает :Проблемы с изменением свойств UINavigationItem во время выполнения
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UINavigationItem *thisNavBar = [self myNavigationItem];
thisNavBar.rightBarButtonItem = nil; // this works, it gets removed
UIBarButtonItem *insertBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(insertSkemaItem:)];
thisNavBar.rightBarButtonItem = insertBtn; // this also works, it sets the btn
}
Сейчас, на мой другой метод, который называется другим контроллером, он не работает
- (void)callChildChange {
...
// remove old btn
UINavigationItem *thisNavBar = [self skemaNavigationItem];
thisNavBar.rightBarButtonItem = nil; // does not work?
}
Там нет ничего плохого с помощью метода, он работает просто отлично, но нав БТН элемент не удаляется?
skemaNavigationItem - элемент навигации, объявленный в файле .h, который связывает элемент навигации, который я сделал через раскадровку.
При входе в систему thisNavBar, она приходит обратно не-ноль? – rdelmar