Wenn ich einen NSPopover öffne ich die folgende Fehlermeldung erhalten:3 oder mehr * aufeinanderfolgende * Layouts werden übergeben, damit sie angezeigt werden können. Fehler
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.
Dies hat gerade erst begonnen, in einer aktuellen Build erscheinen und ich kann nicht finden, was es verursacht. Ich habe alle prep Code entfernt, bevor die popover gezeigt wird, so dass es im Grunde ruft:
- (IBAction)addClicked:(id)sender {
[[self addPopover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge];
}
ich alle Einschränkungen aus dem Fenster in IB zu entfernt haben. Also sollte ich während des Layouts nichts machen, was ein Repaint erfordert.
Suche im Web kommt mit sehr wenig Info, was ich sowieso finden könnte. Mein Popover wird für eine Formulareingabe verwendet und hat daher 4 NSTextFields, einen NSOutlineView und einen NSImage. Es erstellt auch eine versteckte Webansicht, die für den Benutzer nicht sichtbar ist und für die Serververarbeitung verwendet wird.
OSX 10.7+
Irgendwelche Ideen? Danke Geoff
Problem behoben. Wenn Sie diesen Fehler jemals bekommen, habe ich ihn losgeworden, indem ich den Inspektor für Ansichtseffekte in IB ausgewählt habe und ein Häkchen neben (für das gesamte Popup) für den Core-Animationslayer gesetzt habe. Jetzt kann ich quadratische Knöpfe mit Vorlagenbildern und keine obskuren Warnungen haben. – GeoffCoope
Sie sollten das wahrscheinlich als Antwort posten. – tbodt
Danke. Habe das gemacht. – GeoffCoope