有没有办法可以获得NSWindow这些子视图的所有视图,子视图和子视图(你得到了想法......)?
谢谢.
如何禁用右下方窗口的拉伸?我将不得不处理自动调整大小和所有这些东西,如果我只是不允许用户拉伸窗口大小,这将是不必要的.
在IB中,可以通过选中"调整大小"复选框来轻松完成.我的问题是我希望我的主要NSWindow不能调整大小,直到点击一个按钮,然后我希望它可以调整大小.
我在互联网上搜索但找不到任何东西?窗口不能调整大小或不能以编程方式调整大小吗?
在此先感谢大家!
我已经重新绘制了NSWindow,现在当我启动我的应用程序时,控制台中有一个警告说NSWindow does not support utility styleMask 0x10.我怎么能摆脱这个警告?
任何的想法?
谢谢!

有没有办法从mac桌面获取开放或可见的NSWindow列表?
我怎么能让它NSWindow的标题栏看起来像Mac App Store或应用程序Feedder的高度增加,其他控件显示在其中.
要了解我的意思,请查看Mac App Store的网站:http://www.apple.com/mac/app-store/.
它是一个自定义NSWindow还是一个完全无边框的窗口,NSView看起来像标题栏?
当我关闭我的Mac应用程序时(通过单击窗口顶部栏上的红色十字按钮),应用程序图标将保留在底部的停靠栏中.现在这是正常的行为.当用户再次单击它时,它不会启动应用程序,除非用户完全退出应用程序并再次重新启动它.
Mac OS X上的类似示例是"Activity Monitor".您可以通过单击顶部的红色十字按钮关闭应用程序,但停靠图标停留在那里.用户可以通过单击停靠图标重新打开它.
如何在我自己的应用程序中实现这一目标?
在我的应用程序中,我更改standardWindowButtons close/miniturize/expand的位置,如下所示:
//Create the buttons
NSButton *minitButton = [NSWindow standardWindowButton:NSWindowMiniaturizeButton forStyleMask:window.styleMask];
NSButton *closeButton = [NSWindow standardWindowButton:NSWindowCloseButton forStyleMask:window.styleMask];
NSButton *fullScreenButton = [NSWindow standardWindowButton:NSWindowZoomButton forStyleMask:window.styleMask];
//set their location
[closeButton setFrame:CGRectMake(7+70, window.frame.size.height - 22 - 52, closeButton.frame.size.width, closeButton.frame.size.height)];
[fullScreenButton setFrame:CGRectMake(47+70, window.frame.size.height - 22 -52, fullScreenButton.frame.size.width, fullScreenButton.frame.size.height)];
[minitButton setFrame:CGRectMake(27+70, window.frame.size.height - 22 - 52, minitButton.frame.size.width, minitButton.frame.size.height)];
//add them to the window
[window.contentView addSubview:closeButton];
[window.contentView addSubview:fullScreenButton];
[window.contentView addSubview:minitButton];
Run Code Online (Sandbox Code Playgroud)
现在当窗口出现时带有按钮有两个问题:1.它们是灰色而不是正确的颜色2.当鼠标悬停在它们上面时,它们不显示+ - 或x符号
任何人都可以告诉我我做错了什么.谢谢.
我知道这不是一个流行的问题,有些人不喜欢具有非标准外观的应用程序,但它对我的应用程序很有用.
是否可以以"标准"非私有API方式更改NSWindow标题栏文本的颜色?
我知道我可以使用私有API(如本答案中所述),但我认为可以在没有私有API的情况下进行,因为Pixelmator已经完成并且没有被MAS拒绝.我知道也可以通过制作无边框窗口并自己绘制所有内容来实现,但我不认为Pixelmator是如何做到这一点的,因为它们仍然可以获得标准NSWindow标题栏附带的所有附加位; 可拖动图标,重命名窗口,文档修订的下拉菜单和全屏按钮.
基本上,我使用setBackgroundColor创建了一个黑色窗口:但文本仍然显示为黑色,这在黑色背景上不起作用.
那么有谁知道这样做的方法,或者Pixelmator是如何做到的?
我想以编程方式创建一个新的NSWindow,但我找不到成功的方法.这个简单的代码不会显示新窗口.它出什么问题了?
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
let win = NSWindow(contentRect: NSMakeRect(100, 100, 600, 200),
styleMask: NSResizableWindowMask,
backing: NSBackingStoreType.Buffered, defer: true)
let controller = NSWindowController(window: win)
controller.showWindow(self)
win.makeKeyAndOrderFront(win)
}
}
Run Code Online (Sandbox Code Playgroud)