0

私のビューコントローラーのviewDidLoad機能には、次のような人がいます:

UIScrollView *scroller = [[UIScrollView alloc] initWithFrame:self.view.frame];
scroller.contentSize = self.view.frame.size; // Tried w/ and w/o this
scroller.showsVerticalScrollIndicator = YES; // Tried w/ and w/o this

for (int x = 0; x < 10; x++) {
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, x * 100, 100, 100)];
    label.text = [NSString stringWithFormat:@"%i label", x];
    [scroller addSubview:label];
}

[self.view addSubview:scroller];

最初の 8 つのラベルは正常に表示されますが、スクロール ビューは表示されません... スクロールします。切り取られているだけです。理由はありますか?

4

1 に答える 1

0

contentSizeスクロールビュー自体と同じサイズにしか設定されていないため、スクロールしません。これcontentSizeは、スクロールビューがウィンドウとして機能するスクロール可能な領域のサイズです。ラベルが実際に見えるように十分な幅を設定する必要があります。

現在のコードに基づいて、最終的なラベルは rect{0, 900, 100, 100}にあるため、contentSize少なくともCGSizeMake(100, 1000).

于 2012-08-30T00:04:47.903 に答える