我有一个 NSWindow(我的主窗口)和一个NSWindowBelow
具有NSTextView
. 子窗口没有标题栏,也没有阴影和透明。
这是我用来设置子窗口以使其透明的代码:
- (id) initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag{
if (![super initWithContentRect: contentRect styleMask:NSBorderlessWindowMask backing: bufferingType defer:NO]) return nil;
[self setBackgroundColor: [NSColor clearColor]];
[self setOpaque:NO];
return self;
}
但是当我尝试选择其中的文本时,会发生这种情况(子窗口上方的黑色东西是主窗口):
看起来NSTextView
没有焦点,因为选择不是蓝色的。我试过打电话:[[_childWindow textView] becomeFirstResponder];
但结果是一样的。另一件事是,当我滚动它时,有时它非常滞后和“破碎”。
你们对造成这种情况的原因以及如何解决它有任何想法吗?我怀疑这是因为窗口没有标题栏,但我不确定。谢谢!