我有一个HUD面板,它有几个按钮,一个标签和一个用户可以输入的文本字段。 现在它工作得很好,除了我想摆脱标题栏。 删除标题栏非常容易,因为我可以在界面构建器中取消选中“标题栏”。问题是,当我摆脱标题栏时,它变得不可编辑,因此用户无法在文本字段中输入任何内容。 为什么会这样,我该如何解决?
我知道我可以通过编程方式自己编写一个自定义窗口,但我真的只需要删除标题栏,我已经使用了构建器设置了其他所有内容,所以我想找到一种简单的方法来解决这个问题, (希望如果有的话)。
提前致谢。
答案 0 :(得分:1)
您需要覆盖canBecomeKeyWindow并返回YES。
来自docs:如果窗口有标题栏或调整大小条,则NSWindow实现返回YES,否则返回NO。
答案 1 :(得分:1)
您需要做的就是:
子类你的NSPanel并覆盖canBecomeKeyWindow,如rdelmar所述。
你可以这样做:
创建面板类:
<强>·H 强>
@interface panel : NSPanel {
}
@end
<强>的.m 强>
#import "panel.h"
@implementation panel
-(BOOL)canBecomeKeyWindow
{
return YES;
}
@end
不要忘记在身份检查器中将面板的类更改为您创建的类。