Я пытаюсь управлять другим состоянием простой кнопки в приложении OS X: когда пользователь нажимает на нее и когда пользователь отпускает клик.NSButton in Swift, события щелчка мыши и выпуска
В настоящее время я установил мой тип кнопки на NSMomentaryLightButton
NSMomentaryLightButton Когда кнопка нажата (о состоянии), то появляется освещен. Если кнопка имеет границы, она может также отображаться в . Когда кнопка отпускается, она возвращается в нормальное состояние (выключено) .
Этот тип кнопки лучше всего подходит для просто запускающих действий, потому что не показывает свое состояние; он всегда отображает свой обычный образ или заголовок. Эта опция называется Кратковременное Light в Interface Builder, Button инспектора
Я думал, что это хороший способ, но когда я напечатать свой статус кнопки, это как кнопка переключения, чем кнопки, что я установил. Как вы можете видеть на странице exemple gif
Подводя итог, Как я могу получить реальное поведение кнопки? Функция вызова, когда пользователь нажимает на нее, и когда пользователь отпускает клик.
Спасибо,
С помощью обычной кнопки вы должны вызывать действие только тогда, когда пользователь отпускает клик. Никто никогда не ожидал отдельного действия, когда они нажимают на кнопку - у них все еще есть шанс передумать. Вы имеете в виду: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSButtonCell_Class/index.html#//apple_ref/c/econst/NSPushOnPushOffButton? Другими словами, тумблер? Вы можете уточнить свой язык? – BaseZen
Извините за мой плохой английский. В моем приложении кнопки расположены на клавиатуре пианино, поэтому я хотел бы что-то запускать, когда пользователь нажимал, а другая - при нажатии.В настоящее время кнопка изменяет свое состояние для каждого щелчка, чем два состояния одним щелчком мыши. Так понятно ? :/ – Kyz
наконец я нашел решение: переопределения общественного функа MouseDown (theEvent: NSEvent) { Swift.print ("! MouseDown") } переопределения общественного функ MouseUp (theEvent: NSEvent) { Swift.print ("Mouse Up! ") } – Kyz