2 love loveec love_loveec 于 2012.11.22 10:51 提问

换页后改变Scrollview的背景颜色

背景:在应用的CustomCell中有一个scrollView ,就是UIScrollView,CustomCell是继承UITableViewCell的子类,在一个cell中有很多页,因此scrollView中设置为pagingEnabled模式。

问题:我想实现的效果是:当我换到第二页时scrollView的背景颜色会改变,然后等到返回时背景颜色也恢复成原来的颜色。能实现吗?

我尝试了用两个UIScrollView,但是后来发现这样就不能设置pagingEnabled模式了。

还有,我希望最初的屏幕是宽360高70,背景蓝色。然后第二个页面的颜色是绿色,360像素。

2个回答

gaoXxxing
gaoXxxing   2012.11.22 11:13
已采纳

用scrollViewDelegate:

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

           if (page == 1) { /// 第二scroll页
               myView.backgroundColor = [UIColor greenColor];
           } else {  ///第一scroll页
               myView.backgroundColor = [UIColor blueColor];
           }

}
love_loveec
love_loveec 谢了
5 年多之前 回复
prettYYoyic
prettYYoyic   2012.11.22 11:28
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    int page = scrollView.contentOffset.x / scrollView.frame.size.width;
    if (page == 0){
    // 第一页背景色
    }
    else{
    // 第一页背景色
    }
}

在viewDidLoad添加 :

mainScroll.ContentSize = CGSizeMake(320*2, 70);
love_loveec
love_loveec 谢谢
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!