在“界面”构建器中,如何将自定义按钮添加到窗口标题栏?

时间:2012-11-20 14:55:27

标签: cocoa interface-builder nspanel

在我的OS X应用程序中,使用Interface Builder,我有一个如下所示的窗口:

enter image description here

我想在右侧添加一个按钮,以实现此目的:

enter image description here

如果可以,我该怎么办?

2 个答案:

答案 0 :(得分:6)

使用Interface Builder是不可能的,但是你可以通过一点点编码来完成它:

NSButton *closeButton = [window standardWindowButton:NSWindowCloseButton]; // Get the existing close button of the window. Check documentation for the other window buttons.
NSView *titleBarView = closeButton.superview; // Get the view that encloses that standard window buttons.
NSButton *myButton = …; // Create custom button to be added to the title bar.
myButton.frame = …; // Set the appropriate frame for your button. Use titleBarView.bounds to determine the bounding rect of the view that encloses the standard window buttons.
[titleBarView addSubview:myButton]; // Add the custom button to the title bar.

答案 1 :(得分:0)

Swift 2.2和自动布局,在标题栏右侧创建一个“确定”按钮:

println

使用自动布局,您无需硬编码按钮的框架。即使你调整窗口大小,它总是位于标题栏的右侧。