如何知道哪个uiview用户正在使用

Posted

技术标签:

【中文标题】如何知道哪个uiview用户正在使用【英文标题】:How to know which uiview user is using 【发布时间】:2011-12-31 07:50:08 【问题描述】:

我正在实施推送通知,并在用户使用应用程序时对其进行管理。因此会出现一个警报视图,并且在视图单击时它必须重定向到 uiview。现在,如果用户在警报到来时显示 uiview,我怎么能知道顶部的 uiview?如何更新 uiview 当前?警报显示在方法 didReceiveRemoteNotification 中的应用程序委托中。 谢谢

编辑: 我想做这样的事情:

UiviewController current* = [delegate getCurrentView];
if(current.toString=="NotificationView")
   [current update:notificationText];
else
   saveNotification;
   goToNotificationView;

【问题讨论】:

视图控制器有一个view 属性,它是它的根视图。是你要找的吗? 【参考方案1】:

我认为您的主要window 中很可能有一个UINavigationController(它可以是UITabBarController 等),但如果您的主要window 中有一个UINavigationController,那么您可以检查您的UINavigationController 的顶部视图控制器@ 使用[self.navigationController topViewController]; 或者您也可以检查UINavigationControllerviewControllers 堆栈,该堆栈返回您推入UINavigationController 的所有视图控制器的数组,并且可以获得该对象的最后一个对象array 这是您使用 [[self.navigationController viewControllers] lastObject]; 的顶视图。

如果您的主 window 中有 UITabBarController ,那么您可以使用 [[self.tabbarcontroller viewControllers] objectAtIndex:[self.tabbarcontroller selectedIndex]]; 获取 UINavigationController 的实例(如果存在),并且可以执行上述步骤来获取顶视图。

【讨论】:

以上是关于如何知道哪个uiview用户正在使用的主要内容,如果未能解决你的问题,请参考以下文章

被覆盖的 UIControl 或 UIView 如何知道在其上方结束的触摸事件?

如何在不知道它是哪个视图的情况下将 UIView 添加为最顶层视图的子视图?

如何知道正在点击哪个覆盖项?

我如何知道 Wordpress 使用哪个 linux 用户安装插件

如何检查哪个用户使用 Django 登录?

Swift:UIView 与哪个方向相交?