我实施推送通知,并在用户使用应用时对其进行管理。因此会出现一个警报视图,在视图上单击它必须重定向到uiview。现在,如果用户在警报即将到来时显示uiview,我怎么能知道顶部的uiview?我如何更新uiview当前?警报显示在metod didReceiveRemoteNotification中的应用程序委托中。 Thankss
编辑: 我想做这样的事情:
UiviewController current* = [delegate getCurrentView];
if(current.toString=="NotificationView"){
[current update:notificationText];
}else{
saveNotification;
goToNotificationView;
}
答案 0 :(得分:1)
我想很可能你的主UINavigationController
中有一个window
(可以是UITabBarController
等),但如果你的主要UINavigationController
window
然后您可以使用UINavigationController
检查[self.navigationController topViewController];
的顶级视图控制器,或者还可以检查返回数组的UINavigationController
viewControllers
堆栈您在UINavigationController
中推送的所有视图控制器,并且可以使用array
获取[[self.navigationController viewControllers] lastObject];
的最后一个对象,这是您的俯视图。
如果您的主UITabBarController
中有window
,那么您可以使用UINavigationController
获取[[self.tabbarcontroller viewControllers] objectAtIndex:[self.tabbarcontroller selectedIndex]];
的实例(如果在那里)并且可以执行上述操作获得顶视图的步骤。