我正在编写应用程序测试,并且想要检查当前是否显示UIAlertView。这意味着我没有指向它的指针,我需要知道显示的UIAlertView的所有者是谁,或者可以在哪些视图堆栈中找到它。查找UIAlertView而不参考它
2
A
回答
8
[UPDATE]实际上,下面的解决方案不适用于iOS 7,因为警报视图不会再绑定到特定的窗口。在这里阅读详细信息:https://stackoverflow.com/a/18703524/942107
基于KennyTM'm另一个问题的建议Sebastien提供了链接,我创建了一个UIAlertView类别,并带有返回UIAlertView的方法,如果能够以编程方式解除它的话。
UIAlertViewAdditions.h:
#import <UIKit/UIKit.h>
@interface UIAlertView (UIAlertViewAdditions)
+ (UIAlertView *) getUIAlertViewIfShown;
@end
UIAlertViewAdditions.m:
#import "UIAlertViewAdditions.h"
@implementation UIAlertView (UIAlertViewAdditions)
+ (UIAlertView *) getUIAlertViewIfShown {
if ([[[UIApplication sharedApplication] windows] count] == 1) {
return nil;
}
UIWindow *window = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
if ([window.subviews count] > 0) {
UIView *view = [window.subviews objectAtIndex:0];
if ([view isKindOfClass:[UIAlertView class]]) {
return (UIAlertView *) view;
}
}
return nil;
}
@end
相关问题
- 1. EF参考查找
- 2. 检查一个C#属性而不参考它的类?
- 3. 颠覆 - 参考一个项目而不检查它?
- 4. 参考查找实体,而不增加新的一
- 5. 在.NET WebSites(而不是WebApps)中查找Webservice和DLL参考
- 6. 找不到参考
- 7. 关闭UIAlertView而不让它属性
- 8. 不考虑参数相关查找
- 9. 查找参考字段
- 10. 查找参考Visual Studio 2010
- 11. excel查找返回参考
- 12. Proguard不会查找嵌入式jar以供参考查找
- 13. 寻找sql参数化查询参考
- 14. 参考检查。查找,匹配,组合
- 15. 参考找不到xsd
- 16. Nlog参考找不到
- 17. 找不到Logger的参考
- 18. 图表中TextBox的公式 - 如何不参考而选择它?
- 19. WebApi试图加载Owin,而它不在参考文献中
- 20. 如何参考主域而不用硬编码它的名字?
- 21. 将对象设置为空而不传递它参考
- 22. 获取元素参考而不使用反应中的参考
- 23. gitlab couln'd查找远程参考
- 24. SSIS模糊查找与MySQL参考表
- 25. 查找参考类和方法
- 26. Ruby on Rails:做一个查找参考
- 27. MongooseJS使用发现查找参考
- 28. 通过参考表查找连接数
- 29. gcc链接器查找函数参考
- 30. 检查参考
可能重复:[iPhone SDK:检查是否一个UIAlertView中被示出](HTTP://计算器。 com/questions/2528929/iphone-sdk-check-if-a-uialertview-is-showing) –
谢谢。检查应用程序的窗口是解决方案。没有考虑到有几个窗口。仅检查由应用程序委托人控制的人员。 – Gamadril