分页UIScrollView不使用Storyboard滚动

时间:2014-03-25 22:29:36

标签: ios ios7 uiscrollview

我试图通过此YouTube示例构建分页滚动视图: https://www.youtube.com/watch?v=vLUQz7TeE7w

但是,我使用Storyboard来设置我的scrollview和子视图,然后,在代码中,我在viewDidLoad中设置了适当的帧:

//set up scroll view and child views
self.allowanceScrollView.delegate = self;
[self.allowanceScrollView setContentSize:CGSizeMake(3 * self.allowanceScrollView.bounds.size.width, self.allowanceScrollView.bounds.size.height)];

CGRect aFrame = self.allowanceScrollView.bounds;
self.dailyView.frame = aFrame;

aFrame = CGRectOffset(aFrame, self.allowanceScrollView.bounds.size.width, 0);
self.weeklyView.frame = aFrame;

aFrame = CGRectOffset(aFrame, self.allowanceScrollView.bounds.size.width, 0);
self.customView.frame = aFrame;

我还尝试手动设置scrollview委托,但是当页面加载时,scrollview会加载前面的最后一个视图(我将它们按照示例中的颜色进行编码)并且没有滚动。

我已尝试使用scrollview查找其他使用分页但未成功的示例。 任何帮助将不胜感激。

编辑:值得一提的是我确实为每个视图设置了正确的出口。

编辑:故事板中视图层次结构的屏幕截图: view hierarchy

2 个答案:

答案 0 :(得分:1)

通常,始终在viewDidAppear中设置UIScrollViews。此外,请确保您的滚动视图可滚动(即使默认设置为YES)。

例如......

-(void)viewDidAppear:(BOOL)animated {

    [super viewDidAppear:YES];

    scrollView.backgroundColor = [UIColor clearColor];

    scrollView.opaque = NO;

    [scrollView setScrollEnabled:YES];

    [scrollView setContentSize:CGSizeMake(320, 800)];

    [super viewDidLoad];
}

答案 1 :(得分:0)

我在Storyboard中关闭了该控制器的自动布局,一切都运行良好。自从他回答了原来的问题后,我会给Roecrew这个答案,但我想在这里为其他人添加。