Кнопка не фокусируется, потому что она вне досягаемости - tvOS Swift
Я создаю браузер фильмов tvOS. Этот вид содержит описание фильма и отображает 4 вещи: изображение обложки фильма, текст описания фильма, кнопку просмотра и коллекционный вид фильма (синие прямоугольники). Предпочтительный FocusView установлен на watchButton. Однако, как только я переключаю фокус на представление коллекции под ним, я не могу снова сосредоточиться на кнопке часов, если бросок слишком короткий.
Кнопка часов здесь фокусируется, так как актерский состав простирается чуть ниже кнопки
Кнопка часов здесь НЕ фокусируется
В конечном счете, я знаю, что могу исправить это, переставив пользовательский интерфейс так, чтобы кнопка просмотра находилась прямо над первым членом актерского состава, но я хочу знать, есть ли реальный способ добиться первоначального вида, к которому я стремился.
Спасибо!
1 ответ
Чтобы исправить это, я добавил фокусное руководство к своему контроллеру представления.
private var focusGuide: UIFocusGuide!
и в viewDidLoad:
// Create focus guide
focusGuide = UIFocusGuide()
view.addLayoutGuide(focusGuide)
focusGuide.leftAnchor.constraint(equalTo: header.imageView.leftAnchor).isActive = true
focusGuide.bottomAnchor.constraint(equalTo: header.imageView.bottomAnchor).isActive = true
focusGuide.widthAnchor.constraint(equalTo: header.imageView.widthAnchor).isActive = true
focusGuide.heightAnchor.constraint(equalTo: header.watchButton.heightAnchor).isActive = true