У меня возникли проблемы с настройкой кнопок навигации на моем UITableViewController! этот контроллер находится внутри UINavigationController.Проблемы с кнопкой навигации UITableViewController
Я следующий вид контроллера:
@interface SettingsViewController : UITableViewController<UITextFieldDelegate, UINavigationControllerDelegate> {
}
...........
@end
и в файле реализации:
- (void)viewDidLoad
{
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
Я добавление элементов кнопки навигации программно.
редактировать:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
//[self.navigationItem setHidesBackButton:editing animated:YES];
if (!editing)
{
self.navigationItem.leftBarButtonItem = nil;
[self save];
}
else
{
UIBarButtonItem *cancelButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(Cancel:)];
self.navigationItem.leftBarButtonItem = cancelButtonItem;
cancelButtonItem = nil;
}
}
- выше функции редактирования, кажется, работает хорошо с точки зрения настройки навигационных кнопок
отменить:
- (IBAction)Cancel:(id)sender {
//cancel
self.navigationItem.rightBarButtonItem = self.editButtonItem; --> this is not setting edit button.
self.navigationItem.leftBarButtonItem = nil;
}
- но при нажатии на отмене не заменив navigationitem right-barbutton «Done» на «Edit», хотя я делаю это в методе Cancel, как показано выше.
что с этим кодом?
, когда я отладки, я не могу видеть следующее в отладочный области:
ро self.navigationItem
Любая идея, почему?
Спасибо заранее,
Рама
ли 'self.editButtonItem' есть память? Если нет, сделайте это. – tipycalFlow
Спасибо за ваши комментарии. Нет, я не могу видеть память. но он устанавливает кнопку редактирования после выполнения: self.navigationItem.rightBarButtonItem = self.editButtonItem; – Krishna