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]
Другие вопросы по тегам