【发布时间】:2013-07-29 14:11:30
【问题描述】:
我正在制作一个显示 UILocalNotification 的应用程序,当用户单击通知时,该应用程序将显示一个新的 ViewController(在 Storyboard 中设计),它在我的应用程序的任何地方都没有任何 segue。
为了检测用户是否点击了通知,我在didReceiveLocalNotification 中执行以下操作:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *checkListVC = [storyboard instantiateViewControllerWithIdentifier:@"MyCheckListVC"];
self.window.rootViewController = checkListVC;
所以当用户点击通知时,上面的代码会初始化我的视图控制器(我们称之为 CheckListVC),它的标识符是“MyCheckListVC”。
这个 CheckListVC 有 tableView,它的委托和数据源方法在视图控制器初始化时被调用(numberOfRowsInSection & cellForRowAtIndexPath)。但问题是当 CheckListVC 初始化而不是显示 tableView 时模拟器显示空白屏幕。
我无法调试它,因为我什至不知道问题出在哪里。视图控制器已正确初始化,所有委托/数据源方法均已正确调用,但屏幕变为空白。
【问题讨论】:
-
你在设置你的 rootViewController 后是否调用了
[self.window makeKeyAndVisible],这可能是问题所在。 -
是的,我确实打电话给
[self.window makeKeyAndVisible],但也没有用。
标签: objective-c uiviewcontroller uistoryboard uilocalnotification