2017-01-31 6 views
0

AVPlayerController를 사용 중이고 AVPlayerController 상단에 하위 뷰를 추가했습니다. 곧 하위 뷰가 표시되면 플레이어에서 하위 뷰로 포커스를 이동하고 해당 Subivew 위에 추가 된 UIButton을 포커스하고 싶습니다. preferredfocusview하지만 읽기 전용 속성을 시도하고 그것을 변경할 수 없습니다. 아무도 pelase 도움을 줄 수 있습니다. 고마워.tvOS Subview의 포커스 버튼

답변

1

우선 preferredFocusView은 사용되지 않으므로 대신 preferredFocusEnvironments을 사용해야합니다.

그것은 당신이 그것에 할당하지 않는 의미 계산 된 속성입니다, 당신은 그것을 오버라이드 (override) :

override var preferredFocusEnvironments: [UIFocusEnvironment] { 
//if subview exists, return the subview or the button, whichever is focusable 
    return [subview] 
//otherwise use the default implementation of AVPlayerController 
    return super.preferredFocusEnvironments 
} 

당신은 또한 당신이 하위 뷰를 추가 할 때 초점 업데이트를 요청 self.setNeedsFocusUpdate()self.updateFocusIfNeeded()를 호출해야합니다.