我有一个 3 页的水平滚动视图。
我想为每一页设置一种不同的背景颜色,并在 3 种颜色之间绘制渐变。
第 1 页为绿色,第 2 页为蓝色,第 3 页为红色。我怎样才能做到这一点?
我在考虑ScrollViewDidScroll
委托方法:
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
CGFloat pageWidth = self.statisticScrollView.frame.size.width;
float fractionalPage = self.statisticScrollView.contentOffset.x / pageWidth;
NSLog(@"fractional Page: %f", fractionalPage);
NSInteger lowerNumber = floor(fractionalPage);
NSLog(@"lower Page: %i", lowerNumber);
NSInteger upperNumber = lowerNumber + 1;
NSLog(@"upper Page: %i", upperNumber);
if (self.lastContentOffset > sender.contentOffset.x){
//RIGHT --->
if (lowerNumber == 0) {
//gradient green to blue
}else if (lowerNumber == 1){
//gradient blue to red
}else if (lowerNumber == 2){
//end pages
}
}else if (self.lastContentOffset < sender.contentOffset.x){
//LEFT <----
if (lowerNumber == 0) {
//gradient blue to green
}else if (lowerNumber == 1){
//gradient red to blue
}else if (lowerNumber == 2){
//end pages
}
}
}
我可以fractionalPage
用来设置渐变的百分比吗?
我阅读了startPoint
和endPoint
的属性CAGradientLayer
,但它似乎无法正常工作。
任何建议将不胜感激!先感谢您