Quindi pensavo di aver coperto le mie basi, ma a quanto pare mi manca un passaggio chiave o due.NSPanel con "Barra del titolo" deselezionata in Interface Builder non appare
Ho un NSPanel che viene visualizzato (makeKeyAndOrderFront:
) quando viene premuto un NSStatusItem. Le cose funzionano alla grande, ma siccome NSPanel mostra una barra del titolo, il pannello è anche trascinabile. (Questo non è desiderato.)
Il primo screenshot mostra il pannello con "Barra del titolo" abilitata in Interface Builder, nella categoria Aspetto. (Ci scusiamo per la sfocatura, le cose sono ancora sotto chiave, per ora.)
L'unica cambiamento che viene fatta in Interface Builder è deselezionando la casella di controllo "barra del titolo". Quindi salvi e rieseguo, ed è quello che vedi nel secondo screenshot. Mentre appare una leggera ombra, il pannello no.
Le cose che ho provato:
ho sottoclasse il NSPanel e ritornai
YES
percanBecomeKeyWindow
ecanBecomeMainWindow
dopo un po 'di ricerca, ma (prima di sottoclassi) questi entrambi i metodi restituisconoNO
indipendentemente dal fatto che stia usando o meno una barra del titolo. Quindi non penso che questo sia il problema.Mi sono assicurato che il frame per NSPanel sia impostato correttamente. Ha una buona altezza e anche l'origine è impostata correttamente.
Edit: dimenticato di dire:
L'applicazione è un'applicazione menù-bar-solo. Nello screenshot qui sotto, nota che è stata aggiunta una voce aggiuntiva a Info.plist
per far rispettare questo.
Sfortunatamente, nessuna di queste soluzioni sembra aver aiutato. :( –
Sei sicuro? Dove stai mettendo questo? Hai provato a usarli contemporaneamente? Inoltre, aggiungerò qualcosa nella mia risposta. –
No, sai cosa, hai ragione. C'era qualche altro codice che stava interferendo con quei cambiamenti.Le cose sono ancora un po 'traballanti, ma ho intenzione di cancellare parte del codice e tornare. –