Gibt es eine Möglichkeit, NSPopover zu färben? Ich habe Apps wie Facetab usw. gesehen, die coole Farben und veränderbare Popovers haben, wie geht das?
Ay Führer, Hinweise?
Danke.
Setzen Sie popover.contentViewController.view
als eine Unterklasse von NSView
mit einer benutzerdefinierten Hintergrundzeichnung (d. h. überschreiben Sie drawRect:
und füllen Sie ein Rect mit Ihrer benutzerdefinierten Hintergrundfarbe).
Setzen Sie dann popover.appearance = NSPopoverAppearanceHUD
, um den Standardrahmen um die Ansicht zu entfernen.
Beachten Sie, dass um die Ansicht herum immer noch ein sehr schmaler Rahmen vorhanden ist. Wenn Sie sie also vollständig entfernen möchten, sollten Sie MAAttachedWindow oder eine ähnliche Lösung.
Ja und nein. Leider ist NSPopover
nicht anpassbar. Sie können einige einfache Hacks verwenden, um eine zusätzliche Hintergrundansicht hinter contentViewController
s view
hinzuzufügen und zu färben oder anzupassen, wie Sie möchten. In diesem Fall können Sie den anpassbaren Hintergrund erhalten, der wie der generische NSPopover
border und tail maskiert wird.
Für weitere Details können Sie sich den Code von % ansehen. co_de% Kategorie, die diesen Ansatz implementiert oder einfach diesen Code als CocoaPod-Bibliothek verwendet.
Das habe ich getan, um die Popover-Farbe zu ändern.
Angenommen, Sie haben Ihren NSPopover richtig definiert:
%Vor%NSPopover-Klasse Referenz - Ich wünschte wirklich, sie würden in den Entwicklerdokumenten einen Verwendungscode bereitstellen.
Tags und Links objective-c cocoa nspopover