Как прокрутить страницу на uiscrollview? - PullRequest
0 голосов
/ 02 июня 2010

Если у меня есть uiscrollview, который имеет пять страниц в ширину, какой код скажет мне, на какой странице я нахожусь, когда я перехожу на новую страницу? Кроме того, какой код будет прокручивать до определенной страницы?

Спасибо!

Ответы [ 3 ]

1 голос
/ 02 августа 2012
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    CGFloat pageWidth = scrollView.frame.size.width;
    int currentPage = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    pageControl.currentPage = currentPage;
}

Ширина страницы в виде прокрутки у меня равна ширине страницы. Если вы используете что-то другое в качестве ширины страницы, внесите соответствующие изменения, чтобы заставить это работать

для прокрутки до текущей страницы - если я правильно понимаю, у вас есть возможность ввести номер страницы и выбрать прокрутку до этой страницы:

Просто код выше, сделайте в обратном порядке и решите для contentOffset.X

как только вы получите значение x, создайте фрейм с этим x, и scrollToRect: animated: сделает всю работу.

0 голосов
/ 02 августа 2012
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat scroller_x = [scrollView contentOffset].x;
CGFloat scroller_y = [scrollView contentOffset].y;
NSLog(@"%f, %f",scroller_x,scroller_y);
}

Как только этот метод делегата сработает (при прокрутке), проверьте его для каждого представления frame.origin.x и frame.origin.y Соответствующим фреймом представления будет представление, к которому вы прокрутили.

[scrollView setContentOffset:<#(CGPoint)#>];

используйте этот метод для прокрутки до определенного view.frame.origin. Итак, предположим, что у вас есть действие для перехода к определенному представлению, вы можете использовать [scrollView setContentOffset: view.frame.origin], чтобы туда попасть.

(предполагается, что подкачка включена)

0 голосов
/ 03 июня 2010

Ознакомьтесь с примером PageControl от Apple:

http://developer.apple.com/iphone/library/samplecode/PageControl/Listings/ReadMe_txt.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...