当前位置:  开发笔记 > 编程语言 > 正文

如何通过单击按钮在Cocoa中打开启动NSWindow

如何解决《如何通过单击按钮在Cocoa中打开启动NSWindow》经验,为你挑选了1个好方法。

我有一个我在界面构建器中定义的NSWindow.我希望这样做,以便当用户单击按钮时,它会打开NSWindow的新实例.我必须继承NSWindow或其他东西吗?



1> Jason Coco..:

如果您在IB中创建了窗口并且它位于主nib文件中,则每次按下按钮时都无法创建"新实例".在nib文件中创建对象时,实际上由IB创建实例,然后将其存档到nib文件中,以便获得该实例.假设您的窗口连接到auxWindow响应按钮单击的同一对象上命名的变量,并且操作消息已命名buttonClick,您可以执行以下操作来显示它:

-(IBAction)buttonClick:(id)sender {
    if(! [auxWindow isVisible] )
        [auxWindow makeKeyAndOrderFront:sender];
}

这将导致您在IB中定义的辅助窗口出现在屏幕上并成为关键窗口(以及应用程序中最重要的窗口).但请注意,如果您打算重复使用此窗口,则必须取消选中IB Inspector中关于"关闭时释放"的框,否则下次单击按钮时将出现访问冲突.

这是对你的基本问题的简单回答,但是窗口编程可能非常复杂并且通常非常具体(例如,你真的想要一个面板来处理你正在做的事情吗?)...所以我强烈建议你阅读该窗口编程指南关于这一主题的更多信息,然后要求非常具体的问题在这里,当你被卡住.


赞成提及关闭发布选项!
推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有