1

UIScrollView の使用方法を学習しており、テストするボタンをいくつか追加しています。ただし、ボタンを追加するたびに、ビューのどこに配置しても、どれだけ小さくても、大量の水平スクロールが発生することがわかりました。ここに私の関連コードがあります:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [_scroller setScrollEnabled:YES];
    [_scroller setContentSize:CGSizeMake(640, 3000)];

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [btn setTitle:@"Cool title" forState:UIControlStateNormal];
    [btn setFrame:CGRectMake(50, 50, 50, 50)];
    [btn addTarget:self action:@selector(selectFav) forControlEvents:UIControlEventTouchUpInside];
    [_scroller addSubview:btn];
    // Do any additional setup after loading the view, typically from a nib.
}

したがって、ボタンがビューの左上隅にあるように見えても、ボタンの右側にスクロールする空白がたくさんありますが、水平スクロールはまったく必要ありません。

4

1 に答える 1

5

UIScrollView のコンテンツ サイズを 640 にします。これが iPhone 用の場合は、おそらく 320 が必要です。さらに良いことに、コンテンツ サイズの幅を UIScrollView の幅と同じ幅に設定します。

[_scroller setContentSize:CGSizeMake(_scroller.size.width, 3000)];   

おそらく、UIScrollView の幅をビュー コントローラーと同じにしたいでしょう。

于 2013-06-03T03:03:00.987 に答える