0

私は持っていUIScrollViewます。画像をサブビューとして追加します。問題は、スライドをiOSのホーム画面のようにする方法です。たぶん、スクロールの終点を計算することで実行できます.x位置がscrollView幅の半分より大きい場合は、UIScrollView setContentOffset:animated:メソッドを実行します. 何か案が ?

4

1 に答える 1

0

デリゲート

@interface ViewController : UIViewController<UIScrollViewDelegate>

スクロールビュー:

scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(960.0f, 480.0f); // customize it

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    CGFloat pageWidth = self.scrollView.frame.size.width;
    int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    pagecontrol.currentPage = page;
}

PageControl 値が変更されたセレクター:

- (IBAction)changePage:(id)sender {
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * self.pagecontrol.currentPage;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;
    [self.scrollView scrollRectToVisible:frame animated:YES];
}

詳細: http://www.iosdevnotes.com/2011/03/uiscrollview-paging/

于 2013-09-18T17:00:52.453 に答える