Iphone 重写BackbarButtonim的默认行为
我面临在视图之间导航的问题,基本上我有3个视图:Iphone 重写BackbarButtonim的默认行为,iphone,objective-c,uiview,uinavigationcontroller,Iphone,Objective C,Uiview,Uinavigationcontroller,我面临在视图之间导航的问题,基本上我有3个视图: 根视图 视图1 视图2 我想做的是,当我点击View2的back按钮时,我希望加载RootView,而不是加载view1(这是默认设置) 。。在按下view2ViewController之前,我在我的view1.m中编写了以下代码,代码: UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back" target:self action:@selector(some
View2
的back按钮时,我希望加载RootView,而不是加载view1(这是默认设置)
。。在按下view2ViewController之前,我在我的view1.m中编写了以下代码,代码:
UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back" target:self action:@selector(someMethod:)];
self.navigationItem.backBarButtonItem = back;
-(void)someMethod:(id)sender{ [self.navigationViewCOntroller popToRootViewControllerAnimated:YES] }
上述代码不起作用问题的后半部分不清楚 试试这个
[self.navigationController popToRootViewControllerAnimated:YES]代码>
希望这对你有用。通过此操作,您可以从View2导航到根视图。尝试以下操作:
要转到视图,请执行以下操作:
Aview *aview =[[Aview alloc] initWithNibName:nil bundle:nil];
settings.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:settings animated:YES];
返回:
[self dismissModalViewControllerAnimated:YES];
因此,在你的情况下:
-(void)someMethod:(id)sender{
Rootview *rootview =[[Rootview alloc] initWithNibName:nil bundle:nil];
settings.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:settings animated:YES];
}
不要理解这个问题,你刚才不是说view1和view2都被弹出了吗?这不是你的目标吗?是的,我就是这么想的,但这不是真的。我的问题的后半部分可能让所有人都感到困惑,所以我把它删除了。。。谢谢,我会检查你的建议。请不要使用儿童短信。我为不必要的侮辱表示歉意。我的观点是,如果你要写一个答案,花时间用正确的英语写。它能帮助每一个来访者寻找答案,尤其是那些英语读得不好的人!!。。。我一点也不介意。。不知何故,操作方法集没有被调用..,但按钮显示在View2中,标题为“back to RootView”,这是我在view1的ViewDidLoad中设置的,但在我的情况下..,“someMethod”操作没有被调用。。。但我可以将Backbarbuttonite的文本更改为“返回根视图”。。我正在view1的viewDidLoad中进行所有这些更改…,因为BackburbuttonItem需要在以前的视图中配置