2017-10-20 5 views
0

Ich habe meiner Cocoa-Anwendung ein Tab-ähnliches Safari-System hinzugefügt, und seit dem habe ich einige schwerwiegende Grafikfehler bekommen. Ich habe das Tab-System in Auto-Layout implementiert, einfach mit Schaltflächen in einer horizontalen Stapelansicht mit einer anderen Tab-Tab-Ansicht, nichts besonderes.Cocoa Grafikfehler

Ich begann mit etwas wie folgt aussehen:

Original

zu Themen wie Blanko-Etiketten und das Suchfeld Farbe und Schriftart seltsam sind.

enter image description here

Es gibt keine Fehler in der Konsole nur Grafikfehler. Die Einschränkungen sehen gut aus, die Tastatur- und Mausereignisse funktionieren ebenfalls gut, nichts scheint außer dem Rendern kaputt zu sein.

Die „Debug Ansicht Hierarchie“ nicht scheint nicht das gleiche Problem zu haben, als in Runtime:

enter image description here

Ich sah mich um nach ähnlichen Grafikfehler, konnte aber nichts gefunden.

Meine App ist in Swift 4.0, ich verwende die letzte stabile XCode und OS X Version.

Ich weiß nicht, wo ich suchen soll. Ich bin auf der Suche nach Tipps, die mir beim Debuggen helfen! Vielen Dank!

+0

Haben Sie versucht, es am 10.12 zu laufen? Hast du eine ältere Grafikkarte? Verwendet dies NSCollectionView? Wir sind irgendwie begrenzt, ohne etwas Quellcode zu sehen. – Ssswift

+1

Nach meiner Erfahrung kann das Vorhandensein/Nichtvorhandensein von Layern in einigen Einstellungen zu Problemen beim Zeichnen führen. Versuchen Sie, die Inhaltsansicht Ihres Fensters durch den Layer zu unterstützen, und sehen Sie, ob dies die Sache verbessert. (Sie können über den * View Effects * -Inspektor eine Layer-unterstützte Ansicht erstellen. Wählen Sie die Ansicht aus, öffnen Sie diesen Inspektor und aktivieren Sie das entsprechende Kontrollkästchen im Bereich * Core-Animationsebene *.) –

+0

@Ssswift Entschuldigung für die Mangel an Details, kann ich nicht urheberrechtlich geschützten Code und konnte nicht in einem kleinen Anwendungsbeispiel reproduzieren. –

Antwort

0

Ich fand das Problem, weil ich eine visuelle Effektansicht mit dem Effekt "Vibrant Dark" hatte, dann wurde die Registerkartenansicht von einem benutzerdefinierten Ansichtscontroller erstellt, der das Aqua-Erscheinungsbild standardmäßig erbte. Die Mischung der beiden Erscheinungsformen scheint die Ursache für die grafischen Probleme zu sein, und sie erklärte, warum die Vererbung der Standard-Erscheinung kein Problem war, bis ich mein Tab-System implementierte, das die Hauptansicht in einen separaten View-Controller aufbrach. So ein komisches Cocoa Display-Problem ...