【发布时间】:2014-05-11 21:35:58
【问题描述】:
我正在为 iPhone 开发一个应用程序。我的问题是,我有一个类似于快捷菜单的 uiviewcontroller。从那里,我希望能够将页面切换到情节提要上的任何页面,但只是像这样呈现它
[self.mainID dismissViewControllerAnimated:YES
completion:^{
checkin_vc *sampleView = [[checkin_vc alloc] init];
[self.mainID presentViewController:sampleView animated:YES completion:nil];
}];
似乎没有削减它。什么都没有发生,如果我尝试在不首先关闭当前控制器的情况下呈现它,那么我会得到一个黑屏,很可能是因为我试图呈现一个类对象,而不是在情节提要上设置的实际视图控制器.
我试过了
[self.mainID dismissViewControllerAnimated:YES
completion:^{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
checkin_vc *sampleVIew = (checkin_vc *)[mainStoryboard instantiateViewControllerWithIdentifier:@"checkin_sid"];
[self.mainID presentViewController:sampleVIew animated:YES completion:nil];
}];
dismiss 完成,我返回到之前的视图控制器,但完成部分永远不会完成。
我也收到此警告:
2014-05-12 00:05:31.388 Roborder[5503:60b] 警告:尝试呈现不在窗口层次结构中的视图!
【问题讨论】:
-
只是 -(id)initMe: (id)mainc segue:(NSString*)seg { self = [super initWithFrame:CGRectMake(0, 0, 0, 0)]; self.seg = 段; self.mainID = mainc;回归自我;传递的是我想在那里使用的视图控制器的“自我”。
-
好的,这个“self.mainID dismissViewControllerAnimated”你关闭了视图控制器,然后你试图用这个“[self.mainID presentViewController]”在上面显示视图控制器,所以这里没有得到self.mainId
-
你能解释一下你的要求吗?
-
更改 [self.mainID presentViewController:sampleVIew animated:YES completion:nil]; with [self presentViewController:sampleVIew animated:YES completion:nil];我认为这将解决您当前的问题
-
问题是,我调用它的类不是视图控制器。只适合我的快捷方式菜单的控制器。这就是我将当前视图控制器传递给它的原因
标签: ios objective-c uiviewcontroller