为什么presentViewController不起作用?

时间:2014-05-09 10:23:27

标签: ios multipeer-connectivity presentviewcontroller

我创建了一个实验MultipeerConnectivity的新项目。我添加了这些行来在viewDidLoad中呈现一个viewcontroller,但它没有出现。为什么?我只能看到白色背景。

MCBrowserViewController *browserViewController =
[[MCBrowserViewController alloc] initWithBrowser:browser
                                         session:session];
browserViewController.delegate = self;

self.modalPresentationStyle = UIModalPresentationFullScreen;

[self presentViewController:browserViewController animated:YES completion:
 ^{
     [browser startBrowsingForPeers];
 }];

更新

我在控制台中看到了这一点:

警告:尝试呈现MCBrowserViewController:其视图不在窗口层次结构中!

2 个答案:

答案 0 :(得分:3)

问题是您在viewDidLoad中调用了此内容。此时视图已创建但在任何地方都不可见,这意味着视图控制器尚未出现。您需要在viewDidAppear:上执行此方法。

答案 1 :(得分:0)

我认为你在视图控制器中遗漏了一些东西。初始化。您是否正确实例化视图控制器的视图层次结构?这是什么意思"但它没有出现"。 您是否只能看到呈现视图控制器或呈现的视图控制器的白色背景?尝试在完成块中设置断点。浏览器定义了吗?完成回调甚至被调用了吗?