OSX 自定义键盘字段
OSX custom keyboard field
我正在使用 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];
}
我的解决方案是使用 child window。
我创建了 Child Window,然后将 TextField 添加为子视图。
一切正常,但我应该在父 window 调整大小时调整子 window 的大小。
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];
我正在使用 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];
}
我的解决方案是使用 child window。
我创建了 Child Window,然后将 TextField 添加为子视图。 一切正常,但我应该在父 window 调整大小时调整子 window 的大小。
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];