hidesBackButton работает, но задний набор кнопок не работает
Я хотел бы изменить действие моей кнопки в одном из моих ViewController. Вместо того чтобы вернуться к предыдущему представлению, я хочу выполнить действие в том же ViewController.
self.navigationItem.hidesBackButton=NO;
скрывает кнопку BackButton, но
[self.navigationController.navigationItem.backBarButtonItem setAction:@selector(performBackNav:)];
а также
[self.navigationItem.backBarButtonItem setAction:@selector(performBackNav:)];
сделать то же самое, что и раньше (возвращаясь к прецеденту ViewController). Ничего не меняется
-(void)performBackNav:(id)sender {
//Actions
[self.navigationController popViewControllerAnimated:NO];
}
Любые идеи, чтобы изменить действие backbarbuttonitem?
1 ответ
Решение
Вместо переопределения метода действия кнопки "Назад" по умолчанию создайте пользовательскую кнопку. это один из способов попробовать это
{
UIButton *urButton = [UIButton buttonWithType:UIButtonTypeCustom];
urButton.frame = urRequiredFrame;
[urButton setImage:urImage forState:UIControlStateNormal];
[urButton addTarget:self action:@selector(performBackNav:)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *doneButton =[[UIBarButtonItem alloc] initWithCustomView:urButton];
self.navigationItem.leftBarButtonItem=doneButton;
}
-(void)performBackNav:(id)sender {
//Actions
[self.navigationController popViewControllerAnimated:NO];
}