Setzen Sie ein transparentes NSWindow permanent auf ein anderes NSWindow

7

Ich möchte einige UI-Steuerelemente über einem NSWebView haben und wegen dieses Problems " Ссылка " Ich möchte jetzt ein "transparentes" NSWindow hinzufügen, also ohne die Schließen-Schaltflächen usw., über meinem NSWebView , also oben meiner aktuellen NSWindow .

Wie kann ich das erreichen und sicherstellen, dass dieses "Overlay-Fenster" an seinem Platz bleibt, selbst wenn ich das darunterliegende Fenster bewege?

BEARBEITEN: : Während der Ansatz von @ dzolanta gut funktioniert, frage ich mich, ob es möglich ist, dies mit NSWindowController zu tun, was mir erlaubt, Outlets usw. richtig zu benutzen.

    
Besi 03.02.2012, 11:43
quelle

2 Antworten

20

Kindfenster ist was Sie brauchen.

Erstellen Sie NSWindow mit NSBorderlessWindowMask und definieren Sie es mit den Methoden - setOpaque: und - setBackgroundColor: transparent. Fügen Sie dann das neu erstellte Fenster als untergeordnetes Fenster mit einer Instanz von NSWebView hinzu (mit NSWindow 's - addChildWindow:ordered: method). Wenn das übergeordnete Fenster verschoben wird, wird das untergeordnete Fenster automatisch verschoben.

Update mit funktionierendem Code :

%Vor%     
dzolanta 03.02.2012, 13:24
quelle
0

Swift 3-Version mit dem Fenster-Controller:

%Vor%     
Pavel Smejkal 08.08.2017 15:59
quelle

Tags und Links