2009-06-24 20 views

Odpowiedz

6

potrzebował:

  1. Scrollview z stronicowania włączone, trzy ekrany szeroki.
  2. Aby mieć trzy subviews w swoim przewijanym widoku - L (zawartość lewa, 0,0), C (zawartość centrum, 320,0), R (prawidłowa treść, 640,0). C to treść, którą chcesz początkowo pokazać. L jest treścią do pokazania, jeśli użytkownik przewija w lewo.
  3. Ustawia przesunięcie zawartości przewijania na 320 (dla trybu portretowego), ponieważ chcesz, aby początkowo wyświetlany był C, a nie L.
  4. Za każdym razem, gdy kończy się przewijanie, odsunięcie będzie całkowitą wielokrotnością ekranów. Jeśli nadal wyświetlasz C (contentoffset to 320), wszystko jest w porządku. Jeśli odsunięcie treści wynosi teraz 0 lub 640, masz trochę pracy do zrobienia.

Jeśli użytkownik przewija w lewo - masz taką samą hierarchię widok, ale teraz Scrollview pokazuje L zamiast C, ponieważ contentoffset wynosi 0, z scrolloffset 0. Teraz powinno przywrócić całą zawartość tak masz XLC i scrolloffset 320 - na wypadek, gdyby użytkownik chciał ponownie przewinąć w lewo. Innymi słowy, C staje się nowym R, L staje się nowym C, a X jest nową treścią do wyświetlenia, jeśli użytkownik przewinie ponownie w lewo.

Sposób przesłonić zrobić to:

(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView 
+0

Dzięki za szybką odpowiedź! :) –

0

chciałbym to zrobić za pomocą CATransition z typu kCATransitionPush.

CATransition *animation = [CATransition animation]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; //or ...FromLeft, as the case may be 

Zyskałem lepszą wydajność z CATransitions niż z innymi technikami do tej pory, ale to może zależeć od kilku czynników.

Zobacz klasę TransitionView w przykładowym kodzie Apple, aby zobaczyć przykład tworzenia widoku, który wykonuje przejścia. Z tą klasą możesz zrobić:

- (void)replaceSubview:(UIView *)oldView withSubview:(UIView *)newView transition:(NSString *)transition direction:(NSString *)direction duration:(NSTimeInterval)duration; 
+0

Dziękuję również! Dam ci spróbować i zobaczę, co lubię. –

Powiązane problemy