Safari делает это с вкладками веб-страниц. AppStore (3.0) делает это с изображениями предварительного просмотра приложения. Представления прокручиваются по горизонтали и блокируются по центру. Любая идея, как это сделать?Как создать горизонтальную прокрутку для iPhone?
ответ
Понадобится:
- ScrollView с подкачкой включен, три экрана в ширину.
- Чтобы иметь три подзаголовка в вашем прокрутке - L (левое содержимое, 0,0), C (центральное содержимое, 320,0), R (правильное содержание, 640,0). C - это контент, который вы хотите изначально показать. L - это контент, показывающий, будет ли пользователь прокручиваться влево.
- Установите контентное положение прокрутки до 320 (для портретного режима), потому что вы хотите, чтобы C отображался первоначально, а не L.
- Каждый раз, когда свиток заканчивается, контентное предложение будет целым числом, кратным экранам. Если вы все еще показываете C (contentoffset равно 320), тогда вы в порядке. Если contentoffset теперь 0 или 640, вам нужно немного поработать.
Если пользователь прокручивает слева - вы имеете ту же иерархию вида, но теперь Scrollview показывает L вместо C, потому что contentoffset является 0, с scrolloffset 0. Теперь вы должны сбросить все содержимое так у вас есть XLC и прокрутка 320 - в случае, если пользователь хочет прокрутить влево. Другими словами, C становится новым R, L становится новым C, а X - новым содержимым для отображения, если пользователь снова прокручивается.
Метод переопределения сделать это:
(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView
Я хотел бы сделать это с помощью CATransition, с типом kCATransitionPush.
CATransition *animation = [CATransition animation];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight]; //or ...FromLeft, as the case may be
Я получил более высокую производительность, чем CATransitions с другими методами до сих пор, но это может зависеть от нескольких факторов.
Посмотрите на класс TransitionView в примере кода Apple, на примере того, как построить представление, которое выполняет переходы. С этим классом вы можете:
- (void)replaceSubview:(UIView *)oldView withSubview:(UIView *)newView transition:(NSString *)transition direction:(NSString *)direction duration:(NSTimeInterval)duration;
Спасибо также! Я попробую и посмотрю, что мне нравится. – 2009-06-24 22:01:38
- 1. Как создать горизонтальную прокрутку в приложении iphone
- 2. iPhone, Как включить горизонтальную прокрутку
- 3. Как отключить горизонтальную прокрутку на iphone
- 4. Как создать горизонтальную прокрутку с неограниченными страницами?
- 5. Как создать горизонтальную прокрутку nav в Bootstrap?
- 6. Как отключить горизонтальную прокрутку UIScrollView?
- 7. Как остановить горизонтальную прокрутку?
- 8. Как отключить горизонтальную прокрутку?
- 9. Как реализовать горизонтальную прокрутку/прокрутку между фрагментами?
- 10. enyo, Как сделать горизонтальную прокрутку
- 11. xdotool Как сделать горизонтальную прокрутку?
- 12. Как сделать горизонтальную прокрутку параллакса
- 13. отключить горизонтальную прокрутку пальцем. Удалите горизонтальную прокрутку пальцем.
- 14. Удалить горизонтальную прокрутку
- 15. Как отключить горизонтальную прокрутку для NSScrollView?
- 16. UISlider, вызывающий горизонтальную прокрутку
- 17. Отключить горизонтальную прокрутку javascript
- 18. Как программно остановить горизонтальную прокрутку?
- 19. как сделать горизонтальную прокрутку TableView
- 20. Как отключить горизонтальную прокрутку UIWebview?
- 21. изображение вызывает горизонтальную прокрутку
- 22. ОТКЛЮЧИТЬ горизонтальную прокрутку
- 23. Отключить горизонтальную прокрутку
- 24. Добавить горизонтальную прокрутку
- 25. Включить горизонтальную прокрутку Phpstorm
- 26. Отключить горизонтальную прокрутку перетаскивания
- 27. Подставить вертикальную горизонтальную прокрутку
- 28. Запретить горизонтальную прокрутку и удерживать вертикальную прокрутку
- 29. Как создать горизонтальную прокрутку Фото коллекции в Cocoa OSX?
- 30. Как создать горизонтальную прокрутку диаграммы Chart.js с заблокированной осью y?
Спасибо за быстрый ответ! :) – 2009-06-24 11:38:57