目标C,HUD面板?

时间:2012-04-01 02:55:32

标签: objective-c xcode macos interface-builder osx-lion

我有一个HUD面板,它有几个按钮,一个标签和一个用户可以输入的文本字段。 现在它工作得很好,除了我想摆脱标题栏。 删除标题栏非常容易,因为我可以在界面构建器中取消选中“标题栏”。问题是,当我摆脱标题栏时,它变得不可编辑,因此用户无法在文本字段中输入任何内容。 为什么会这样,我该如何解决?

我知道我可以通过编程方式自己编写一个自定义窗口,但我真的只需要删除标题栏,我已经使用了构建器设置了其他所有内容,所以我想找到一种简单的方法来解决这个问题, (希望如果有的话)。

提前致谢。

2 个答案:

答案 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

不要忘记在身份检查器中将面板的类更改为您创建的类。

enter image description here