TV OS UIFocusEnvironment Кнопка не фокусировки
Привет всем Я новичок в разработке приложений TV OS.
Как упомянуто ниже изображение, я мог бы двигать кнопки,
Button1 -> Стрелка вправо -> фокусировка Кнопка 2
Я заметил, что при переходе вниз (от Button 2 к Button4) фокусирующий элемент должен находиться на границе Button 2 и Button6.
Я хочу переместить Button1 в Button 3 при нажатии вниз. (Button3 не находится на границе между Button1 и Button5)
Как это исправить?
1 ответ
Решение
Для этого вы можете разместить UIFocusGuide
слева от кнопки 3. ( https://developer.apple.com/documentation/uikit/uifocusguide)
Направляющая фокуса - это невидимый элемент направляющей макета, который "поймает" фокус и перенаправит его на любой вид, который вы укажете.
Изменить: Полная документация с образцом
Пример:
let focusGuide = UIFocusGuide()
view.addLayoutGuide(focusGuide)
focusGuide.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
focusGuide.rightAnchor.constraint(equalTo: button3.rightAnchor).isActive = true
focusGuide.topAnchor.constraint(equalTo: button3.topAnchor).isActive = true
focusGuide.bottomAnchor.constraint(equalTo: button3.bottomAnchor).isActive = true
focusGuide.preferredFocusEnvironments = [button3]