Я задал этот вопрос когда-то назад. Но пока нет решения,
Вот мой сценарий.
//RootViewController.m
[self.navigationController pushViewController:view1 Animated:YES];
Вот View1.m
UIBarButtonItem *back_of_view2 = [[UIBarButtonItem alloc]initWithTitle:@"Back to RootViewfromview2"
target:self
action:@selector(backClicked:)];
[self.navigationController pushViewController:view2 animated:YES];
А вот метод backClicked: (все еще в view1.m)
-(void)backClicked:(UIBarButtonItem *)back_of_view2
{
[self.navigationController popToRootViewController Animated:YES]
}
Я могу получить кнопку «Назад» в view2 как «back to RootViewfromview2», но действие backClicked не вызывается, и когда я нажимаю «назад», я получаю view1, который является действием по умолчанию.
Но когда я устанавливаю leftBarButtonItem в view2.m, т.е.
UIBarButtonItem *backtoOne = [[UIBarButtonItem alloc]initWithTitle:@"JumptorootView" style:UIBarButtonItemStyleBordered target:self action:@selector(someMethod:)];
-(void)someMethod:(UIBarButtonItem *)backtoOne
{
[self.navigationController popToRootViewController animated:YES];
}
Теперь .., если я использую leftBarButtonItem .., все работает нормально, но я не получу обратную стрелку ..