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 回答