macos – 隐藏标题栏时,子视图将被禁用

macos – 隐藏标题栏时,子视图将被禁用,第1张

概述使用OSX 10.8 SDK在XCode for OSX中编写应用程序.我的所有 Windows工作正常,直到我使用Interface Building去除笔尖中的标题栏(我取消选中窗口元素的Attributes Inspector上的Title Bar param).窗口仍然显示,但所有子视图都被禁用.我不能再输入文本和进程条都是灰色的. 有谁知道为什么会这样?以及如何使用没有标题栏的窗口,但启 使用OSX 10.8 SDK在XCode for OSX中编写应用程序.我的所有 Windows工作正常,直到我使用Interface Building去除笔尖中的标题栏(我取消选中窗口元素的Attributes Inspector上的Title bar param).窗口仍然显示,但所有子视图都被禁用.我不能再输入文本和进程条都是灰色的.

有谁知道为什么会这样?以及如何使用没有标题栏的窗口,但启用了所有子视图?

以下是标题栏的视图:

这就是没有它的样子:

如您所见,一切都被禁用.

更新

有人询问有关显示窗口的代码.对于这个例子,我没有使用任何代码.对于上面的两个屏幕,这里是我遵循的步骤:

>使用XCode创建了一个新的cocoa应用程序. (自动创建一个xib).
>将两个控件(文本字段和进度条)拖出到现有窗口中.
>冉,并拍了一个屏幕截图
>关闭并选中窗口的标题栏属性.
>重新启动应用程序.拍了第二个屏幕截图.

解决方法 这个链接有一个答案:

Xcode 4,Cocoa Title bar removing from interface builders disables textView from editing

如果您阅读NSWindow的文档,您可以看到方法canBecomeKeyWindow和canBecomeMainWindow如果没有标题栏则返回NO.对NSWindow进行细分并超越这些方法将使它们成为关键窗口.

有关如何在Apple的文档网站中对这些窗口进行子类化的示例代码,或者如果您安装了文档,则在xcode中.

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/canBecomeKeyWindow

在上面的链接中搜索canBecomeKeyWindow,将包含有助于解释该过程的示例代码.

总结

以上是内存溢出为你收集整理的macos – 隐藏标题栏时,子视图将被禁用全部内容,希望文章能够帮你解决macos – 隐藏标题栏时,子视图将被禁用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1015300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存