繁体   English   中英

NSTextField在附加到NSStatusItem的NSPopover上无效

[英]NSTextField isn't active on NSPopover attached to NSStatusItem

我有一个NSStatusItem创建如下:

statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setTitle:@"DS"];
[statusItem setHighlightMode:YES];
[statusItem setAction:@selector(StatusClicked:)];
[statusItem setTarget:self]; 

我也有一个带有customview的弹出窗口。 在视图上,我有文本字段: http : //d.pr/i/CWbr

我的弹出窗口显示如下:

- (void)StatusClicked:(id)sender {
    [self.popover showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge];
}

NSStatusBarButton sender我了解到senderNSStatusBarButton类的实例。

问题是,当弹出弹出窗口时,我无法在文本字段中键入内容,它会显示不活动状态: http ://d.pr/i/q18U

该按钮虽然起作用。

我认为问题出在我传递给ofView:的视图中。 我试图将其更改为这样的窗口控件:

 [self.popover showRelativeToRect:[sender bounds] ofView:self.postText preferredEdge:NSMaxYEdge];

文本字段变为活动状态( http://d.pr/i/DmTz ),但我不知道为什么这会有所帮助。

从菜单弹出时,为什么我的弹出文本框变得不活动? 为什么按钮起作用? 如何激活文本框?

PS我的应用是Application is agent (UIElement)

写下问题后,我认为这可能与关键窗口有关。 因此,我搜索了此连接并发现了以下问题: 即使设置了可编辑行为,也无法在NSPopover上编辑NSTextField

这完全回答了我的问题。 它似乎是一个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM