【发布时间】:2014-08-30 16:45:19
【问题描述】:
我有一个 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来设置渐变的百分比吗?
我读到了CAGradientLayer 的startPoint 和endPoint 属性,但它似乎无法正常工作。
任何建议将不胜感激! 提前谢谢你
【问题讨论】:
标签: ios objective-c uiscrollview gradient cagradientlayer