2009-08-24 33 views
14

Các Táo Hướng dẫn Human Interface nói:Ẩn nút từ thanh tiêu đề trong Cocoa

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

Làm thế nào để làm cho thanh tiêu đề đầu tiên trong hình ảnh đó (với chỉ một close-nút). Vô hiệu hóa cả hai 'Resize' và 'Minimize' trong IB chỉ làm cho các nút thay đổi kích thước/thu nhỏ bị vô hiệu hóa. Nhưng tôi muốn họ biến mất. Làm thế nào tôi có thể làm điều đó?

Xin cảm ơn trước.

Trả lời

36

Tôi tin rằng điều này sẽ làm việc:

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

Và cũng '[[cửa sổ standardWindowButton : NSWindowCloseButton] setHidden: YES]; 'to h ide nút đóng (nếu được hiển thị). – Beny

+0

@pkamb Cần trợ giúp để thiết lập lại toàn màn hình – AJit

+0

Hoàn hảo, chính xác những gì tôi đang tìm kiếm khi cố tạo giao diện như trình phát Quicktime. –

0

cách khác là ...

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

Bạn có thể xây dựng câu trả lời của mình một chút không? Tôi có nghĩa là tại sao & làm thế nào nó khác nhau. – Fawzan

+0

@Fawzan, cách này có thể áp dụng cho chế độ xem tiêu đề tùy chỉnh. – csaint

3

Đối Swift

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

setHidden

+0

không hoạt động (trên xcode 9.2) ... tiêu đề và nút đóng, miniaturizeButton, toàn màn hình vẫn ở đó. – themihai

Các vấn đề liên quan