0

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

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

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

更具体地说,我想要我的初始屏幕,宽度为 360,高度为 70,蓝色,我的第二个屏幕是绿色,从 360 像素开始。

4

2 回答 2

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];
           }

}
于 2012-11-21T15:41:40.500 回答
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);
于 2012-11-21T15:47:49.203 回答