Ios presentViewController不以I';I’我想要
我的Ios presentViewController不以I';I’我想要,ios,objective-c,presentviewcontroller,Ios,Objective C,Presentviewcontroller,我的presentViewController代码设置如下: ProductViewController *vc = [[ProductViewController alloc] init]; [self presentViewController:vc animated:YES completion:nil]; 它确实显示了vc控制器,但我无法点击它上的任何东西,它就像一个冻结的屏幕。是因为它上面还有一个视图吗?或者我不应该使用alloc]init ProductViewController
presentViewController
代码设置如下:
ProductViewController *vc = [[ProductViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil];
它确实显示了vc
控制器,但我无法点击它上的任何东西,它就像一个冻结的屏幕。是因为它上面还有一个视图吗?或者我不应该使用alloc]init
ProductViewController
是一个现有的视图控制器(它实际上是根视图控制器),因此基本上我只希望presentViewController
返回到根视图控制器
编辑:
我有一个ShippingViewController
,用户在其中输入名称/发货详细信息
然后,他们点击“签出”按钮,显示PaymentViewController
(它有一个导航栏,所有其他视图控制器都没有)。在
PaymentViewController
上,用户输入其信用卡详细信息并点击“支付”按钮
如果付款成功,我希望提交
ProductViewController
(初始/根视图控制器)。当前,如果我只是调用dismissViewController
,它将显示ShippingViewController
这似乎解决了我的问题:
NSString *storyboardName = @"Main";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"id"];
[self presentViewController:vc animated:YES completion:nil];
你真的有东西要拍。。。?您确实需要对视图控制器的撤销进行编码。使用alloc/init将创建
ProductViewController
的新实例,因此上面的代码将引导您前进到新实例,而不是返回到现有实例。要返回,应该使用dismissViewControllerAnimated:completion
而不是presentViewController:animated:completion:
@pbasdf,这很有意义,但我不希望它返回到该视图控制器。是否有一种方法可以将其设置为关闭,然后转到某个视图控制器而不是上一个视图控制器?您是否可以发布视图控制器层次结构的详细信息,以及您希望加载的VC?您可能希望阅读“iOS视图控制器编程指南”。