2016-10-13 4 views
2

Я создаю браузер фильмов tvOS. Это представление содержит описание фильма и отображает 4 вещи: изображение обложки фильма, текст описания фильма, кнопку «Смотреть» и вид коллекций броска фильма (синие квадратики). ПредпочтительнымFocusView устанавливается watchButton. Однако, как только я переключу фокус на вид коллекции под ним, я не смогу снова сфокусироваться на кнопке часов, если приведение слишком короткое.Кнопка не фокусируется, потому что она вне досягаемости - tvOS Swift

The watch button is focusable here since the cast extends to just below the button

The watch button IS NOT focusable here

В конце концов, я знаю, что может это исправить, перестраивая пользовательский интерфейс, так что кнопка часы непосредственно над первым актерским, но я хочу знать, если есть фактический путь для достижения первоначального взгляда, который я собирался.

Спасибо!

ответ

0

Чтобы исправить это, я добавил руководство по фокусировке в контроллер моего представления.

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 
Смежные вопросы