2015-09-21 10 views
13

Mam niestandardową UICollectionViewCell w mojej aplikacji tvOS. Ma on w sobie UIImageView i niektóre. Mogę sprawić, że komórka będzie skupiona, implementując protokół UIFocusEnvironment bez żadnego problemu, ale nie mogę wymyślić, jak nadać komórce niestandardowej wyostrzony wygląd. (Podniesienie i reagowanie na ruch użytkownika na touchpadzie).Animacja/powiększenie ukierunkowanego widoku niestandardowego w TVOS

Mam świadomość, że UIImageView ma właściwość, ale to tylko podnosi obraz w mojej komórce, a nie całej komórce.

Czy istnieje sposób, aby tvOS zastosował (pozornie) standardowy wygląd/zachowanie fokusa do mojego widoku niestandardowego lub czy muszę to zrobić ręcznie?

Z góry dziękuję.

Odpowiedz

16

Zadałem to samo pytanie na forach programistów Apple. Pracownicy Apple odpowiedzieli:

W przypadku widoków niestandardowych konieczne będzie samodzielne wdrożenie wyglądu ogniskowej . W metodzie aktualizacji fokusa można np. Zastosować transformację i użyć interfejsu API UIMotionAffect.

- (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator { 
    if (context.nextFocusedView == self) { 
     // handle focus appearance changes 
    } 
    else { 
     // handle unfocused appearance changes 
    } 
} 

myślę, że to będzie bardzo pomocne dokonać UIView rozszerzenie aby móc zastosować takie samo zachowanie do dowolnego widoku niestandardowego.

Może chcieliby, abyśmy wdrożyli więcej interesujących sposobów, aby wyświetlić użytkownikowi ostrość? Byłby to dobry powód, aby umożliwić to łatwo tylko dla UIImageView (Nie wspominając, że to zachowanie dodaje również symulowane światło nad UIImageView, które jest piękne, ale może ma sens tylko w przypadku obrazów).

Powiązane problemy