Использование NSTextField в пользовательском NSTableCellView.
Когда пользователь нажимает где-нибудь на ячейке, я хотел бы, чтобы NSTextField стал первым респондентом.
Когда я это сделаю, текст исчезнет, и пользователю нужно будет нажать любую клавишу на клавиатуре, чтобы он вернулся, как отключить это поведение?
Код:
override func mouseDown(with event: NSEvent) {
super.mouseDown(with: event)
if (event.clickCount == 2) {
self.beginEditing()
} else {
self.endEditing()
}
}
private func beginEditing() {
self.lblTitle.isEditable = true
self.window?.makeFirstResponder(self.lblTitle)
self.lblTitle.backgroundColor = Colors.clear
self.lblTitle.borderColor = Colors.clear
}
private func endEditing() {
self.lblTitle.isEditable = false
self.lblTitle.backgroundColor = Colors.red
}
@Willeke Мне очень жаль, этот код был после нескольких попыток. Я пытался с окном до первого респондента, но безуспешно. Обновленный ответ





Удаление этих строк решило это
self.lblTitle.backgroundColor = Colors.clear
self.lblTitle.borderColor = Colors.clear
Пожалуйста, прочтите дискуссионную часть документации
becomeFirstResponder.