UIScrollViewに3つの「ページ」(ページ0、ページ1、ページ2)があり、指でスワイプするとスナップされます。そこにもUIPageControlがあります。UIScrollViewは、ページ0の表示から開始します。私がやりたいのは、ページ3を最初に表示することです。これをプログラムで行うにはどうすればよいですか。
ちなみに、(UIPageControlの)currentPageをページ番号に設定するだけでは何も起こりません。
UIScrollViewに3つの「ページ」(ページ0、ページ1、ページ2)があり、指でスワイプするとスナップされます。そこにもUIPageControlがあります。UIScrollViewは、ページ0の表示から開始します。私がやりたいのは、ページ3を最初に表示することです。これをプログラムで行うにはどうすればよいですか。
ちなみに、(UIPageControlの)currentPageをページ番号に設定するだけでは何も起こりません。
(PageControlの例から)
scrollViewの特定のセクションに直接移動するには、
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
[scrollView scrollRectToVisible:frame animated:YES];
スクロールビューやページコントロールなど、同じものを実装して、
pageControl.currentPage = {pageNumber};
これは完全に機能しましたが、pageControlアウトレットがInterface Builderで正しく設定されていることを確認してください(使用している場合)。
問題がscrollViewが機能しておらず、pageControlが機能していないことである場合。次に、scrollViewのcontentsizeが正しく設定されていることを確認します。
scrollView.contentSize = CGSizeMake(320*numberOfPages, scrollView.frame.size.height);
次に、このスクロールビューにコンテンツを各セクションに追加します
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];