2010-03-24 5 views
6

У меня есть 3 "страницы" (страница 0, страница 1, страница 2) в UIScrollView, которые привязаны пальцами. Там также есть UIPageControl. UIScrollView начинает показывать страницу 0. То, что я хочу сделать, иногда присутствует на странице 3 FIRST. Как я могу сделать это программно.как запрограммировать текущую страницу для UIPageControl?

Просто установка текущей страницы (UIPageControl) на номер страницы ничего не делает.

ответ

23

(Из примера PageControl)

Чтобы перейти непосредственно к определенной части Scrollview использовать

CGRect frame = scrollView.frame; 
frame.origin.x = frame.size.width * page; 
frame.origin.y = 0; 
[scrollView scrollRectToVisible:frame animated:YES]; 

Я просто реализовать то же самое, например, Scrollview и страницы управления и использовали

pageControl.currentPage = {pageNumber}; 

, который отлично работал, вы уверены, что выход для выхода на страницу et правильно в Interface Builder (если вы его используете).

Если проблема заключается в том, что scrollView не работает, а не на странице управления. Затем убедитесь, что вы правильно настроили содержимое прокрутки.

scrollView.contentSize = CGSizeMake(320*numberOfPages, scrollView.frame.size.height); 

Для этого Scrollview вы затем добавить содержимое в каждой секции

page1ViewController.view.frame = CGRectMake(0, 0, 320, 200); 
[scrollView addSubview:page1ViewController.view]; 

Следующая страница получает надвигается на ширину 1 экрана

page2ViewController.view.frame = CGRectMake(320, 0, 320, 200); 
[scrollView addSubview:page2ViewController.view]; 
+0

Что именно должен быть подключен к чему? мой UIPageControl подключен к моему RootViewController напрямую, а не мой ScrollViewController (все в том же файле XIb) – RexOnRoids

+0

Создание Outlets в контроллере для обоих Scrollview и PageControl @property (неатомической, сохранить) IBOutlet UIScrollView * Scrollview; @property (неатомный, сохраняемый) IBOutlet UIPageControl * pageControl; и связать их с элементами управления в xib – Liam