заранее спасибо
Как добавить обнаружение нажатия кнопки в tvOS?
Ответы (5)
Автор руководства здесь, метод добавления интерактивности в приложения на основе TVML заключается в использовании addEventListener для рассматриваемого элемента DOM. Вы можете найти элемент DOM, удерживая ссылку на него во время создания или используя getElementById или другие подобные методы JavaScript DOM. Кроме того, я должен упомянуть, что добавил «Часть 2» к упомянутому учебнику, в котором это является основным направлением.
Вот пример того, как вы можете сделать это в JS, предполагая, что myDOMElement — это переменная, которая ссылается на вашу кнопку как на элемент DOM.
myDOMElement.addEventListener("select", function() { alert("CLICK!") }, false);
Конечно, у меня есть больше информации об этом руководстве, так что не стесняйтесь проверьте это тоже.
play
, чтобы обнаруживать нажатие кнопки «Воспроизведение/Пауза».
- person Nick; 16.12.2015
Нажатия кнопок аналогичны событиям UITouch. Взгляните на обратные вызовы UIPressEvent в заголовке UIResponder. UIViewControllers являются частью цепочки респондентов, поэтому вы можете добавить обратные вызовы в свой контроллер представления, подобные этому:
- (void)pressesEnded:(NSSet<UIPress *> *)presses withEvent:(nullable UIPressesEvent *)event {
UIPress *anyPress = [presses anyObject];
// handle press event
}
Вы не должны использовать «UIControlEvents.TouchUpInside» в tvOS, поскольку это не делает того, что вы могли бы ожидать: вместо этого вы, вероятно, захотите использовать «UIControlEvents.PrimaryActionTriggered».
TouchUpInside запускается фактическими прикосновениями, что на самом деле не то, что вы хотели здесь: если вы хотите, чтобы кнопка Select на пульте дистанционного управления вызывала вашу кнопку, вы должны использовать PrimaryActionTriggered.
Вы можете добавить действие к UIButton так же, как и в iOS, в соответствии с Документы Apple
Экземпляр класса UIButton реализует кнопку на сенсорном экране. Кнопка перехватывает события касания и отправляет сообщение о действии целевому объекту при нажатии. Методы установки цели и действия унаследованы от UIControl. Этот класс предоставляет методы для установки заголовка, изображения и других свойств внешнего вида кнопки. Используя эти средства доступа, вы можете указать различный внешний вид для каждого состояния кнопки.
Swift 3 версия кода @jess-bowers:
override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
let anyPress: UIPress? = presses.first
}
pressesEnded
, которая по какой-то причине никогда не вызывается. - person Alex Chesters   schedule 10.09.2015