我正在使用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];
}
答案 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];