Кнопка не фокусируется, потому что она вне досягаемости - 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
Другие вопросы по тегам