我有一个3页的水平滚动视图。iOS梯度动画与uiscrollview分页
我想每个页面都有一个不同的背景颜色,并在三种颜色之间绘制渐变。
Page 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
的属性,但它似乎无法正常工作。
任何建议将不胜感激! 预先感谢您
您好,非常感谢您的回复。我试过你的代码。它可以工作,但不是我想的效果......无论如何,谢谢!我正在尝试使用'fractionalPage'的值(如果我在第一页中的值从0.0变为1.0 - 如果我在第二页中,则值从1.0变为2.0 ...)来设置最终颜色的位置(如果我们位于第一页,则为蓝色)。 – Tenaciousd93 2014-08-31 15:44:03