背景:在应用的CustomCell中有一个scrollView ,就是UIScrollView,CustomCell是继承UITableViewCell的子类,在一个cell中有很多页,因此scrollView中设置为pagingEnabled模式。
问题:我想实现的效果是:当我换到第二页时scrollView的背景颜色会改变,然后等到返回时背景颜色也恢复成原来的颜色。能实现吗?
我尝试了用两个UIScrollView
,但是后来发现这样就不能设置pagingEnabled
模式了。
还有,我希望最初的屏幕是宽360高70,背景蓝色。然后第二个页面的颜色是绿色,360像素。
用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];
}
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
int page = scrollView.contentOffset.x / scrollView.frame.size.width;
if (page == 0){
// 第一页背景色
}
else{
// 第一页背景色
}
}
在viewDidLoad添加 :
mainScroll.ContentSize = CGSizeMake(320*2, 70);