我正在开发一款使用弹出窗口获取其他功能的Mac App。我有一个弹出窗口打开,我需要用户输入一些文本,我似乎无法使该字段可编辑。在Xcode中的“属性”检查器下,行为设置为可编辑,其他选项与类似应用程序中的设置匹配,该应用程序在可编辑的新窗口中具有文本字段。我错过了什么?
- (IBAction)dataTransferButton:(id)sender {
[[self dataTransferPopover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxXEdge];
_employeeCheckBox.enabled=NO;
[dataTransferPopover becomeFirstResponder];
userAccountTextField.editable=YES;
}
答案 0 :(得分:0)
让您的应用委托实施NSPopoverDelegate并实施
-(void)popoverDidShow:(NSNotification *)notification
{
[self.dataTransferPopover.viewController.view.window makeKeyWindow];
self.dataTransferPopover.viewController.view.window makeFirstResponder:userAccountTextField];
}
您需要将文本字段设为第一响应者而非弹出窗口。