NSTextField - разрешить редактирование только принудительным касанием, какао
Я занимаюсь разработкой приложения для OSX с поддержкой Force touch.
По умолчанию, если вы устанавливаете поведение NSTextField редактируемым, пользователь может щелкнуть два раза или использовать принудительное касание, чтобы начать редактирование.
Я хочу, чтобы пользователь мог начать редактирование только с помощью Force touch. Как я могу справиться с этим?
1 ответ
Решение
Подкласс NSTextField и переопределение pressureChange(with:)
, Затем проверьте event.stage
для уровня давления (или event.pressure
для точного значения). Если event.stage 2
Сила прикосновения.
@available(macOS 10.10.3, *)
override func pressureChange(with event: NSEvent) {
if event.stage == 2, !self.isEditable {
self.isEditable = true
self.selectText(self)
}
}