我正在实现推送通知,并在用户使用app时对其进行管理。因此将出现警报视图,单击该视图时必须重定向到uiview。现在,如果用户在警报到来时显示该uiview,我如何知道顶部的uiview?如何更新当前的uiview?警报显示在方法didReceiveRemoteNotification中的应用程序委托中。谢谢
编辑:我想这样做:
UiviewController current* = [delegate getCurrentView];
if(current.toString=="NotificationView"){
[current update:notificationText];
}else{
saveNotification;
goToNotificationView;
}发布于 2011-12-31 18:05:38
我认为你很可能在你的主window中有一个UINavigationController (它可以是一个UITabBarController,等等),但是如果你在你的主window中有一个UINavigationController,那么你可以通过使用[self.navigationController topViewController];来检查你的window的顶层视图控制器,或者你也可以检查UINavigationController的viewControllers堆栈,它返回了你在<代码>D9中推送的所有视图控制器的数组,并且可以通过使用<代码>D11来获取<代码>D10的最后一个对象。
如果您的主window中有一个UITabBarController,那么您可以通过使用[[self.tabbarcontroller viewControllers] objectAtIndex:[self.tabbarcontroller selectedIndex]];获得UINavigationController的实例(如果它在那里),并可以执行上述步骤来获得顶视图。
https://stackoverflow.com/questions/8687038
复制相似问题