UIView 是不是可见?

Posted

技术标签:

【中文标题】UIView 是不是可见?【英文标题】:Is the UIView visible?UIView 是否可见? 【发布时间】:2019-01-22 07:18:54 【问题描述】:

有没有一种方法可以确定 UIView 是否可见,包括所有“超级”层中的所有转换/隐藏/alpha,包括 ios 可以在我的应用程序上添加的内容?

我不是指已经讨论过的 isVisible(以及其他示例)实际上返回 true 的内容,即使其他 UIView 堆叠在顶部也是如此。

Determine if UIView is visible to the user?

假设我创建了一个 UIView CGRect(0,0,100,100) 并附加到我的视图。然后我从我的 UIView 顶部的系统中拉下通知。然后我可以知道我被覆盖了吗?

感谢您的帮助,

/安德斯。

【问题讨论】:

你可以试试 UnitTests 或 UITests 来实现这个 请注意,iOS(和许多其他操作系统一样)使用缓冲,这意味着如果您的视图没有被标记为脏,那么它可能不会被要求重绘自己。因此,您的问题应该针对您的视图的可见性。 是的。将变为可见。 通知栏会暂停你的应用。它基本上与您的应用程序重叠,因此在应用程序内部进行测试对您没有帮助。 【参考方案1】:

你可以通过调用'uiView.isHittable'在UITest中测试它

【讨论】:

以上是关于UIView 是不是可见?的主要内容,如果未能解决你的问题,请参考以下文章

调整 UIView 的大小,以便我绘制的任何内容都可见 - Objective C

UIScrollView+UIView 而不是 UITableView+customcells?

如何获取部分平移到屏幕外的 UIView 的可见部分?

UIView 子类不可见

IOS:UIView 永远可见

iOS 我的 UIView 在屏幕上可见吗?