0

x=160、y=186、幅=1600、高さ=380 の CGRect でビュー (masterView と呼ばれる) を作成しました。このビューには 5 つのサブビューが含まれており、それぞれが iPhone の画面幅 (360) です。

このビューをページングするために、ページング付きのスクロールビューを設定しました。アプリを実行すると、3/5 ページが表示され、3 ~ 5 + 5 以降の 2 つの空白ページの間で自由にページングできますが、ページ 1 と 2 にページングすることはできません。 2 画面幅分。アプリがページ 1 から開始するように位置を修正するにはどうすればよいですか?

これは私の最初のアプリです。

ビューコントローラーのviewDidLoadに次のコードを入れました:

CGRect screenRect = CGRectMake(0, 0, 320, 380);

UIScrollView *scrollView2 = [[UIScrollView alloc] initWithFrame:screenRect];
[scrollView2 setDelegate:self];

CGRect bigRect = CGRectMake(0, 186, 1600, 380);
[scrollView2 setContentSize:bigRect.size];
[scrollView2 setPagingEnabled:YES];

[scrollView2 addSubview:masterview];
[[self view] addSubview:scrollView2];
4

1 に答える 1

1

UIScrollViewをとともに使用するこの優れたチュートリアルをチェックしてくださいUIPageControl。それはあなたを動かすはずです。

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

重要なビットは次のviewDidLoadとおりです。

for (int i = 0; i < colors.count; i++) {
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    UIView *subview = [[UIView alloc] initWithFrame:frame];
    subview.backgroundColor = [colors objectAtIndex:i];
    [self.scrollView addSubview:subview];
    [subview release];
}

このコード サンプルでは を使用ARCしていますが、それでも適用されます。各サブビューのフレームは、ページ番号によってオフセットされることに注意してくださいself.scrollView.frame.size.width * i

幸運を。

于 2013-07-24T13:14:51.270 に答える