我正在編寫應用程序測試,並且想要檢查當前是否顯示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