2016-07-25 40 views
9

Bir NSPopover aşağıdaki hatayı alıyorum açtığınızda:3 veya daha fazla * ardışık * düzen gösterilmeye hazırlanmak için geçer. Hata

WARNING: <NSPopover: 0x618000120780> needed 3 or more *consecutive* layout 
passes to prepare to be shown. Verify that nothing in your view hierarchy 
is aggressively dirtying layout during layout, as this will likely 
cause problems elsewhere. 

Bu sadece son yapısını görünen başladı ve bunu neden olan şeyi bulamıyorum. Ben de IB penceresinden tüm kısıtlamaları kaldırdık

- (IBAction)addClicked:(id)sender { 

[[self addPopover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge]; 

} 

: popover gösterilmiştir önce temelde çağırır yüzden tüm hazırlık kodu kaldırdık. Bu yüzden, bir rötuş gerektiren mizanpaj sırasında hiçbir şey yapmamalıyım.

Web'de arama yapmak, ne bulabildiğimi çok az bilgi içeriyor. Benim popover bir form girişi için kullanılır, bu yüzden 4 NSTextFields bir NSOutlineView ve bir NSImage içerir. Ayrıca kullanıcı tarafından görülemeyen ve sunucu işlemede kullanılan gizli bir Web Görünümü oluşturur.

OSX 10.7+

Herhangi bir fikir? Hiç bu hatayı alırsanız Teşekkür Geoff

+0

Sabit. Bu hatayı alırsanız, IB'deki görünüm efektleri müfettişini seçerek bunu kaldırdım ve Çekirdek Animasyon Katmanı için (bu tüm pop-up için) yanında bir onay işareti koydu. Şimdi şablon görüntüleri ile kare düğmeleri ve hiçbir belirsiz uyarı olabilir. – GeoffCoope

+1

Muhtemelen bunu bir cevap olarak göndermelisiniz. – tbodt

+0

Teşekkürler. Bitti. – GeoffCoope

cevap

7

, ben IB görünümü etkiler müfettişi seçerek kaldırıldı ve Core Animation Katman için görüntülemek yanındaki bir onay işareti (tüm pop-up görünümü) koydu. Şimdi şablon görüntüleri ile kare düğmeleri ve hiçbir belirsiz uyarı olabilir.