UIScrollView无法水平滚动

6

我的UIScrollView无法水平滚动,请在这里帮助我。

FirstView = [[UIView alloc] initWithFrame:CGRectMake(60, 0, 100, 150)];
    [FirstView setBackgroundColor:[UIColor clearColor]];

    SecondView = [[UIView alloc] initWithFrame:CGRectMake(320+60, 0, 100, 150)];
    [SecondView setBackgroundColor:[UIColor clearColor]];

    HolderView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 1000, 150)];

    scrHorizontalScroll = [[UIScrollView alloc]initWithFrame:HolderView.frame];
        [scrHorizontalScroll setBackgroundColor:[UIColor redColor]];
    [scrHorizontalScroll setContentSize:CGSizeMake(999, 150)];
    [scrHorizontalScroll setScrollEnabled:YES];
    [HolderView addSubview:scrHorizontalScroll];
[scrHorizontalScroll addSubView:FirstView]; [scrHorizontalScroll addSubView:SecondView]; [HolderView addSubView: scrHorizontalScroll];

HolderView不能水平滚动,但会发生这种情况,请帮忙解决。

注意:我有一个mainView,在其顶部区域按照框架坐标添加了这个HolderView。

[mainView addSubView:label].... [mainView addSubView:HolderView];

这是完整的结构。
2个回答

15

只有当滚动视图的内容大小大于其框架时,它才会滚动。


0
    FirstView = [[UIView alloc] initWithFrame:CGRectMake(60, 0, 100, 150)];
        [FirstView setBackgroundColor:[UIColor clearColor]];

        SecondView = [[UIView alloc] initWithFrame:CGRectMake(320+60, 0, 100, 150)];
        [SecondView setBackgroundColor:[UIColor clearColor]];

        HolderView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 150)];

        scrHorizontalScroll = [[UIScrollView alloc]initWithFrame:HolderView.frame];
            [scrHorizontalScroll setBackgroundColor:[UIColor redColor]];
        [scrHorizontalScroll setContentSize:CGSizeMake(999, 150)];
        [scrHorizontalScroll setScrollEnabled:YES];
        [HolderView addSubview:scrHorizontalScroll];
    [scrHorizontalScroll addSubView:FirstView]; [scrHorizontalScroll addSubView:SecondView]; [HolderView addSubView: scrHorizontalScroll];

//set with of the scrHorizontalScroll  as second view,increase content view size to x axis.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接