[英]Objective C: How to check for unread messages (number to be displayed as badge)
[英]How to check which subview is currently displayed on screen in objective C?
我想检查哪个子视图现在在屏幕上可见或被其他视图覆盖,我无法使用以下条件进行操作。
if (viewController.isViewLoaded && viewController.view.window) {
// viewController is visible
}
谁能给我举个子视图的例子?
如果viewController是我在其中添加子视图的主控制器,则我想检查该控制器的子视图之一的这种情况。
您可以通过以下代码片段获得最高的视图
topMostSubView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
通常,这将为您提供顶视图,但不能保证它对用户可见。 例如,它可能不在屏幕上,alpha值为0.0,或者大小可能为0x0。
也可能是keyWindow没有子视图,因此您应该首先进行测试。
如果要在最顶部的视图上添加另一个子视图,只需使用addSubview:直接将其直接添加到keyWindow中,它将立即成为最顶部的视图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.