Alt görünümü kimin aktif bir UIAlertView öğesinin bulunduğunu veya çalıştığı parçayı nasıl bulacağını bilen var mı?A UIAlertView Live Reddedilmemesine rağmen
cevap
windows property'un içeriğini ve tüm görünümlerin tüm alt görünümlerini dökerseniz, UIAlertView öğesinin ana pencereyi kaplayan ayrı bir pencerede olduğunu görebilirsiniz. Burada bir denetleyici ve bir masa görüşüne sahip bir navbarım var (ilgilerini çekmediği için alt görünümlerini kaldırdım).
<UIWindow: 0x411fd50; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x4120af0>>
: <UILayoutContainerView: 0x4123310; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x411f800>>
: | <UINavigationTransitionView: 0x4123500; frame = (0 0; 320 480); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x41232e0>>
: | : <UIViewControllerWrapperView: 0x4519d30; frame = (0 64; 320 416); autoresize = W+H; layer = <CALayer: 0x4519a40>>
: | : | <UITableView: 0x7808000; frame = (0 0; 320 416); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x45182a0>>
: | <UINavigationBar: 0x45018b0; frame = (0 20; 320 44); clipsToBounds = YES; autoresize = W; layer = <CALayer: 0x4500fe0>>
: | : <UINavigationItemView: 0x4522a20; frame = (100 8; 160 27); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x4526310>>
: | : <UINavigationItemButtonView: 0x45230a0; frame = (5 7; 87 30); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x4520260>>
<_UIAlertOverlayWindow: 0x4179b70; frame = (0 0; 320 480); opaque = NO; layer = <CALayer: 0x4188dc0>>
: <UIAlertView: 0x4194bc0; frame = (3.8 161.95; 312.4 177.1); transform = [1.1, 0, 0, 1.1, 0, 0]; opaque = NO; animations = { transform=<CABasicAnimation: 0x4191160>; opacity=<CABasicAnimation: 0x41226f0>; }; layer = <CALayer: 0x4144c30>>
: | <UILabel: 0x4177e70; frame = (12 15; 260 23); text = 'Name of Date'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x4179370>>
: | <UILabel: 0x418b100; frame = (12 45; 260 41); text = 'Name of the date that you...'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x4128450>>
: | <UIThreePartButton: 0x41942a0; frame = (11 102; 262 43); opaque = NO; tag = 1; layer = <CALayer: 0x4191f30>>
Dökümanı üreten kod İşte. ,
void dumpView(UIView* aView, NSString* indent) {
if (aView) {
NSLog(@"%@%@", indent, aView); // dump this view
if (aView.subviews.count > 0) {
NSString* subIndent = [[NSString alloc] initWithFormat:@"%@%@",
indent, ([indent length]/2)%2==0 ? @"| " : @": "];
for (UIView* aSubview in aView.subviews) dumpView(aSubview, subIndent);
[subIndent release];
}
}
}
void dumpWindows() {
for (UIWindow* window in [UIApplication sharedApplication].windows) {
dumpView(window, @"dumpView: ");
}
}
Etkin UIAlertView ayrı bir pencerede (_UIAlertOverlayWindow) yaşıyor. Bulmak için .windows
property kullanın.
Tüm kullanıcı arabirimi ana iş parçacığında çalışır.
Eğer pencere ve zamanlama ile açıklamak sorun itibaren alertView:didDismissWithButtonIndex: uygulamak gerekir gibi geliyor: Ben vesilesiyle faydalı bir şey beklediğim yapıyor değilken neler olduğunu görmek için buldum. Takip kodunuzu bu yöntem içinden tetikleyebilirsiniz.
DÜZENLEME: eğer bu işe yaramadıysa, pencerenin gerçekten gitmeyi garanti ettiği bir gecikmeden sonra FB malzemelerini yürütmek için bir gecikme yapmayı deneyeceğim.
İyi fikir, ama bunu denedim ve problem devam ediyor, hatta animasyonlu = NO. –
- 1. UIAlertView
- 2. UIAlertView cancelButtonTitle
- 3. Windows Live OAuth erişimi XBox Live Bilgi
- 4. UIAlertview kodundaki EXC_BAD_ACCESS = 1
- 5. UIAlertView, belgelenmemiş yöntemde çöküyor
- 6. UIView Popup, UIAlertView gibi
- 7. diğerButtonTitles in UIAlertView
- 8. iphone UIAlertView odak sorunu
- 9. Hızlı Özel UIAlertView
- 10. UIALertView birden düğmeleri
- 11. UIAlertView, tamamlama eylemcisi engellemesinde çalışmıyor
- 12. jQuery + Sortable + live
- 13. live asp.net web.config ayarları
- 14. Live Wallpaper Ekran Rotasyonu
- 15. jquery live hover çalışmıyor
- 16. iOS 7 hata veya UIAlertView
- 17. UIActivityIndicatorView UIAlertView üzerinde doğru görüntülenmiyor
- 18. ListView boş uygulama devam ederken bağdaştırıcıya eklenen rağmen rağmen
- 19. UIAlertView için bir işlev yazmak mı istiyorsunuz?
- 20. jQuery .live() ve Belge hazırlığı
- 21. .NET XBox Live Hesap API'si
- 22. iOS'ta HTTP Live Streaming'in uygulanması
- 23. Live Amerikan Futbol İstatistikleri API
- 24. `ActiveRecord with_connection do` & ActionController :: Live
- 25. SmartGWT Live Grid (iBATIS ile)
- 26. Live-Reload'u yeniden yapılandırın Ion-gulp-açısal
- 27. Windows Live ID bir OpenID Sağlayıcısı mı?
- 28. .gitignore dosyasına rağmen zorlama ekle
- 29. market: // Android dokümantasyona rağmen desteklenmiyor
- 30. Tüm xcodes günlüklerini aramasına rağmen
Teşekkürler, bir göz atacağım. BTW, güzel biçimlendirilmiş çöplüğü nasıl ürettin? –
Bu hile yapar. fikri Bulundu http://stackoverflow.com/questions/2528929/iphone-sdk-check-if-a-uialertview-is-showing - (BOOL) alertIsActive (UIWindow * penceresinde için { \t ([window.subviews sayısı] eğer [UIApplication sharedApplication] 0) \t \t \t> { \t \t) .Windows halinde ([[window.subviews objectAtIndex: 0] isKindOfClass: [UIAlertView sınıfı]]) \t \t \t \t YES; \t NO; } –
Çok kullanışlı snippet - paylaşım @progrmr için teşekkürler – Till