Iphone 重写BackbarButtonim的默认行为

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

我面临在视图之间导航的问题,基本上我有3个视图:

  • 根视图
  • 视图1
  • 视图2
  • 我想做的是,当我点击
    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需要在以前的视图中配置