更改页面后,Scrollview会更改背景颜色

时间:2012-11-21 15:25:15

标签: iphone ios uiscrollview

我在scrollView中有一个CustomCell UIScrollView ,它是 UITableViewCell 的子类。我在一个单元格中有两个不同的页面。所以,我在scrollView模式下使用pagingEnabled

我的问题是,我可以在传递第二页后更改我的scrollView背景颜色,然后在返回后将其设置回初始颜色吗?

到目前为止,我尝试使用两个不同的 UIScrollView ,然后我意识到我无法使用pagingEnabled模式。

更具体地说,我希望我的初始屏幕宽度为360,高度为70蓝色,而我的第二个屏幕为绿色,在360像素后开始。

2 个答案:

答案 0 :(得分:0)

尝试使用scrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)sender {
           CGFloat pageWidth = 360;
           int page = floor(scroll.contentOffset.x / pageWidth) ;

           if (page == 1) { /// second scroll page
               myView.backgroundColor = [UIColor greenColor];
           } else {  ///first scroll page
               myView.backgroundColor = [UIColor blueColor];
           }

}

答案 1 :(得分:0)

试试这个:

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    int page = scrollView.contentOffset.x / scrollView.frame.size.width;
    if (page == 0){
    // first page's background color
    }
    else{
    // first page's background color
    }
}

同样在viewDidLoad添加此内容:

mainScroll.ContentSize = CGSizeMake(320*2, 70);