2016-08-04 43 views
0

Ich habe eine NSView namens myNSView in einem NSPopover. Ich fügte dem myNSView einen Eckenradius von 15 hinzu. Aber mein Problem ist, dass die Ränder transparent werden (sehen Sie Bild). Hinter myNSView ist eine weitere NSView, die eine rote Hintergrundfarbe enthält. Ich weiß nicht, warum die Kanten nicht rot werden. Irgendein Rat?Ecken von NSView sind transparent, aber sollten nicht

self.myNSView.wantsLayer = true 
self.myNSView.layer?.cornerRadius = 15 
self.myNSView.layer?.backgroundColor = Colors.white() 

NSView

+0

Um zu klären, sollten die grauen Kanten rot sein? –

+0

Ja, die grauen Kanten sollten rot sein! – Megaetron

+0

Sie müssen Ihre Ansichten Fensterhintergrund auf rot setzen –

Antwort

0

Versuchen Sie, so etwas zu tun?

enter image description here

Wenn das der Fall ist, können Sie die BackgroundView und myNSView als Subklassen von NSView machen und die Farben dort überschreiben, wie ich here tat?

+0

Ja, das ist was ich gerne mache. Ich habe Ihren Code ausprobiert und es hat funktioniert, aber es funktioniert nur, wenn ich keine andere Ansicht in myNSView eingefügt habe. Sobald ich eine Ansicht (wie NSTextField oder NSImageView) ind myNSView einfüge, werden die Ecken transparent. – Megaetron

+0

Hmmm ... das sollte nicht passieren, da sowohl in BackgroundView als auch in MyNSView in meinem Code ein Beschriftungsfeld enthalten ist – felix

+0

fügen Sie 'NSTextField' in Code oder Interface Builder hinzu? – felix