Итак, у меня есть элемент строки состояния, в котором есть меню с элементом меню, представлением которого является текстовый NSDatePicker.Когда вы щелкаете по полю в окне выбора даты, оно обычно выделяется и выделяется.По-видимому, помещая средство выбора даты в представление пункта меню, я отвечаю за кучу поведения.Во-первых, щелчок поля, чтобы я мог изменить его с помощью степпера, не выбирается, поэтому я подклассифицировал NSDatePicker и:
override func acceptsFirstMouse(for event: NSEvent?) -> Bool {
return true
}
Теперь поля можно выбирать и изменять с помощью степпера, но они не выделяются,поэтому я переопределил:
override func mouseDown(with : NSEvent) {
super.mouseDown(with: with)
let cell : NSCell = (self.selectedCell())!
cell.isSelectable = true
cell.highlight(true, withFrame: self.frame, in: self)
}
Я не могу выделить выделенное поле.Я не могу понять, как получить кадр клетки.self - это подкласс NSDatePicker, так что это NSView.
Это все очень странно для меня, поскольку поля выделяются при запуске из XCode, но при непосредственном запуске приложения - нет.
Кто-нибудь знает, каквыделить выделенное поле в текстовом NSDatePicker, встроенном в представление NSMenuItem?
- Отметить