我正在使用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];
}
我的解决方案是使用子窗口。
我创建子窗口,然后将文本字段添加为子视图。一切正常,但是当父窗口调整大小时,我应该调整子窗口的大小。
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];