Ich habe ein Problem mit NSWindow
und es ist Content-Ansicht - mit Aussehen der Titelleiste und abgerundeten unteren Ecken, um spezifisch zu sein. Ich beobachte das Problem am 10.11 und am 10.10 sieht alles gut aus. Aber auf den Punkt.setWantsLayer ändert Verhalten von NSWindow
Die Titelleiste des Fensters wie folgt aussieht:
keine abgerundeten Ecken:
und gleichzeitig unten sieht wie folgt aus. Fenster wird programmgesteuert initiiert und es besteht aus zwei Teilansichten, die programmgesteuert mithilfe von self.contentView addSubview: method hinzugefügt werden.
Nach einiger Arbeit fand heraus, dass init der tittle bar
[self.contentView setWantsLayer:YES];
am Anfang des Fensters das Hinzufügen dieser wie folgt aussieht:
Wohnung und feste dunkler als normale Farbe - nicht gut. Auf der anderen Seite unten sieht aus, als ich es brauche aussehen:
Ibin mehr die Fenster zu zeigen, nicht erlaubt. Und hier ist die init mit meinen Versuchen:
[self.contentView setWantsLayer:YES];
self.identifier = someid;
self.styleMask = NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask;
self.backingType = NSBackingStoreBuffered;
[self setFrame:NSMakeRect(0, 0, windowInitWidth, windowInitHeight) display:NO];
[self setBackgroundColor:[NSColor colorForKeyPath:@"blackcolor"]];
NSButton *windowButton = [self standardWindowButton:NSWindowCloseButton];
[windowButton setEnabled:NO];
[self centerOnMainWindowScreen];
[self setupLeftPanel];
[self setupRightPanel];
[self setupConstraints];
Jede Hilfe, die das passiert wird erklären, warum ist (?, Was die Reihenfolge der Zeichnung Fensterelemente ist) und wie man richtig init Fenster, geschätzt. Noch einmal: es funktioniert gut in 10.10 beide Möglichkeiten. 10.11 verursacht beschädigtes Zeichnen.
Ich denke, die abgedunkelten Titelleiste durch die Hintergrundfarbe verursacht wird, nicht durch die Schicht. – Sulthan
Haben Sie versucht, die Inhaltsansicht in Ruhe zu lassen und stattdessen eine Unteransicht hinzuzufügen, die diese füllt und diese Schicht unterstützt? –
@Sulthan - Ich habe versucht, die Farbe ([self setBackgroundColor:]) auf schwarz und weiß zu ändern und nicht die Farbe zu setzen. Der Balken ist normal, wenn contentView nicht mit Ebenen versehen ist. – dobry