gpt4 book ai didi

iPhone:检测 UIAlert/UIActionSheet 是否打开

转载 作者:行者123 更新时间:2023-12-03 18:29:20 26 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我有一个计时器启动,当它启动时,我需要能够检测是否有警报 (UIAlertView) 或操作表 (UIActionSheet) 打开。

一种方法是修改显示警报/操作表的代码 - 但不幸的是,在我的情况下这不是一个选项。

所以,问题是 - 有没有办法知道/检测警报或操作表是否已打开?

打开时是否发送任何通知,或者是否遍历 View 层次结构来检测它?

谢谢

最佳答案

他们在打开时确实会发送警报,但仅限于他们的代表 - 检查 this question寻找解决该问题的好方法。 Techzen 建议在您打开警报时将 bool 标志设置为 YES,并在您关闭警报时将其设置回 NO

编辑:

既然您根本无权访问该代码,为什么不尝试这段笨重的代码:

-(BOOL) doesAlertViewExist {
for (UIWindow* window in [UIApplication sharedApplication].windows) {
NSArray* subviews = window.subviews;
if ([subviews count] > 0) {

BOOL alert = [[subviews objectAtIndex:0] isKindOfClass:[UIAlertView class]];
BOOL action = [[subviews objectAtIndex:0] isKindOfClass:[UIActionSheet class]];

if (alert || action)
return YES;
}
}
return NO;
}

关于iPhone:检测 UIAlert/UIActionSheet 是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com