是否可以確定當前UIView是否顯示UIAlertView(除了每次創建UIAlertView時都設置一個變量)。檢查UIView是否顯示UIAlertView
我想沿着
if ([self.view.subviews containsObject:UIAlertView]) { ... }
線的東西但是,這顯然是行不通的。
是否可以確定當前UIView是否顯示UIAlertView(除了每次創建UIAlertView時都設置一個變量)。檢查UIView是否顯示UIAlertView
我想沿着
if ([self.view.subviews containsObject:UIAlertView]) { ... }
線的東西但是,這顯然是行不通的。
這不適用於iOS7及以上版本。
[alertView展會]增加了對我猜主窗口子視圖。
for (UIWindow* window in [UIApplication sharedApplication].windows){
for (UIView *subView in [window subviews]){
if ([subView isKindOfClass:[UIAlertView class]]) {
NSLog(@"has AlertView");
}else {
NSLog(@"No AlertView");
}
}
}
這是最接近我想要實現的,所以我會給它答案,雖然由於某種原因它並沒有真正的工作,因爲我不確定UIAlertView在顯示後仍保留在子視圖中,即使它仍然在屏幕上。 – Smikey
我試過這個,出於某種原因它不起作用。但是我在http://stackoverflow.com/a/2529692/1091926找到了另一個答案,它適用於我。代碼看起來很相似。 (我猜是因爲「if([subviews count]> 0)」) –
其實我相信它的工作原因是[subviews objectAtIndex:0] –
如果存儲的UIAlertView中作爲視圖控制器上的屬性,正顯示它,然後運行代碼:
if ([self.view.subviews containsObject:self.myalertview]) { ... }
這應該工作。
謝謝 - 我試圖避免必須自定義每個警報視圖,因爲它們中有很多都顯示。 – Smikey
我認爲它會工作:
-(BOOL) doesAlertViewExist
{
if ([[UIApplication sharedApplication].keyWindow isMemberOfClass:[UIWindow class]])
{
return NO;//AlertView does not exist on current window
}
return YES;//AlertView exist on current window
}
可能重複http://stackoverflow.com/questions/2528929/iphone-sdk-check-if-a-uialertview-正在顯示 – Luke
類似的,但接受的答案對我來說並不好,因爲我有這麼多的實例化,而另一種答案是使用無證方法...我想沒有快速簡單的方法 – Smikey
你只是想知道警報顯示或你在乎我在哪裏t起源於? –