2009-08-24 16 views
14

Le Mele Human Interface Guidelines dicono:Nascondi pulsanti di barra del titolo in Cocoa

alt text http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/art/wn_panelcontrols.jpg

Come faccio a fare la prima barra del titolo in quell'immagine (con solo un primo pulsante). Disabilitando entrambi i pulsanti "Ridimensiona" e "Riduci a icona" in IB, solo i pulsanti Ridimensiona/Riduci a icona vengono disabilitati. Ma voglio che spariscano. Come lo posso fare?

Grazie in anticipo.

risposta

36

Credo che questo dovrebbe funzionare:

[[window standardWindowButton:NSWindowCloseButton] setHidden:YES]; 
[[window standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES]; 
[[window standardWindowButton:NSWindowZoomButton] setHidden:YES]; 
+2

E anche '[[finestra standardWindowButton : NSWindowCloseButton] setHidden: YES]; 'a h ide il pulsante di chiusura (se visualizzato). – Beny

+0

@pkamb Hai bisogno di aiuto per tornare a schermo intero – AJit

+0

Perfetto, esattamente quello che stavo cercando quando ho cercato di creare un'interfaccia come il lettore Quicktime. –

0

un altro modo è ...

for (id subview in [self window].contentView.superview.subviews) { 
    if ([subview isKindOfClass:NSClassFromString(@"NSTitlebarContainerView")]) { 
     NSView *titlebarView = [subview subviews][0]; 
     for (id button in titlebarView.subviews) { 
      if ([button isKindOfClass:[NSButton class]]) { 
       [button setHidden:YES]; 
      } 
     } 
    } 
} 
+0

Puoi elaborare un po 'la tua risposta? Intendo perché e come differisce. – Fawzan

+0

@Fawzan, questo modo può essere applicato alla vista titolo personalizzata. – csaint

3

Per Swift

window!.standardWindowButton(.miniaturizeButton)!.isHidden = true 
window!.standardWindowButton(.zoomButton)!.isHidden = true 
window!.standardWindowButton(.closeButton)!.isHidden = true 

setHidden

+0

non funziona (su xcode 9.2) ... il titolo e il pulsante di chiusura, miniaturizeButton, a schermo intero sono ancora lì. – themihai