我有3個視圖控制器:A,B和C.A是初始的,它有2個按鈕:一個重定向到B,第二個到C.當B被按下時,按鈕內B被按下的用戶被重定向到C.現在在C中的導航欄上,當我按下後退按鈕時,我想總是將其重定向到A,並且從不到B.這是可能的嗎?導航欄後退按鈕更改功能
這是基本的功能我想實現:
一)
A->B->C C back to A
B)
A->C C back to A
我有3個視圖控制器:A,B和C.A是初始的,它有2個按鈕:一個重定向到B,第二個到C.當B被按下時,按鈕內B被按下的用戶被重定向到C.現在在C中的導航欄上,當我按下後退按鈕時,我想總是將其重定向到A,並且從不到B.這是可能的嗎?導航欄後退按鈕更改功能
這是基本的功能我想實現:
一)
A->B->C C back to A
B)
A->C C back to A
for (UIViewController *controller in self.navigationController.viewControllers)
{
if ([controller isKindOfClass:[A class]])
{
[self.navigationController popToViewController:controller
animated:YES];
break;
}
}
你可以通過presentview控制器來實現這一點作爲模式view.first從一個如果第一個按鈕被按下存在b view.if secnd按鈕被按下存在c視圖和在c視圖控制器放回按鈕並添加委託並實現委託在視圖控制器中,你必須在視圖控制器中關閉一個視圖。
讀你說的話之後,我想你的意思是實現自定義操作每個button.The方式,我會做(斯威夫特)是這樣的:
@IBAction func pressButton(sender : UIButton){
var SecondView :ViewController2
SecondView = self.storyboard?.instantiateViewControllerWithIdentifier("SecondView") as ViewController2
self.presentViewController(SecondView, animated: true, completion:nil)
self.viewWillDisappear(true)
}
這個方法我用了很多,我知道有使用塞格斯另一種方式,但你仍然可以使用@ IBActions.You只需要創建一個新的賽格瑞(標識)和prepareforSegue
方法,你說當賽格瑞被觸發
個究竟通過更換後退按鈕
UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(clkBack)];
self.navigationItem.leftBarButtonItem = btnBack;
- (void)clkBack{
//your view controllers
}
試試這個
這是我需要的答案。非常感謝。 – AleksandarNS 2014-09-26 11:43:17