OSX自定义键盘字段

时间:2015-04-13 14:16:22

标签: objective-c macos unity3d

我正在使用Unity3d平台创建一个应用程序,我想为我的osx构建显示本机osx文本字段。

有没有办法显示原生文字字段?

我曾尝试将textField添加到NSWindow,但它不可见。

NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 100)];
[textField setStringValue:@"VALUE"];

NSApplication * shAp = [NSApplication sharedApplication];
NSWindow *window = [shAp windows][1];

if (window != NULL)
{
    NSLog(@"window found, add subview");
    [[window contentView] addSubview:textField];
}

1 个答案:

答案 0 :(得分:0)

我的解决方法是使用子窗口。

我创建子窗口,然后将TextField添加为子视图。 一切正常,但是当父窗口调整大小时我应调整子窗口的大小。

 NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 50)];
 NSApplication * shAp = [NSApplication sharedApplication];
 NSWindow *window = [shAp windows][1];

 NSWindow *overlayWindow = [[NSWindow alloc]initWithContentRect:newRect
                                                         styleMask:NSBorderlessWindowMask
                                                           backing:window.backingType
                                                             defer:NO];

 [window addChildWindow:overlayWindow ordered:NSWindowAbove];
 [[overlayWindow contentView] addSubview:textView];