如果我们滚动滚动视图,改变标签框的颜色
问题描述:
我有4个标签框,我有一个UIscrollview,我有4页。如果我们滚动滚动视图手动(通过拖动)标签框的颜色必须根据页码进行更改。 任何命中做到这一点。如果我们滚动滚动视图,改变标签框的颜色
UIScrollView *scroll = [[UIScrollView alloc]initWithFrame: CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)];
scroll.pagingEnabled = YES;
NSInteger numberOfViews = 4;
float j=0;
for (int i = 0; i < numberOfViews; i++) {
CGFloat yOrigin = i * self.view.frame.size.width;
printf("%f\n",yOrigin);
UIView *scrollview = [[UIView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
scrollview.backgroundColor = [UIColor cyanColor];
[scroll addSubview:scrollview];
[scrollview release];
j=j+0.2;
}
答
设置你的滚动视图(最有可能自我)的UIScrollViewDelegate。
scrollView.delegate=self
然后实现在您委托类
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {...}
以下然后该委托函数中有一个看看scrollview.contentOffset财产。这会告诉你当前位置(通过CGPoint)你的滚动视图的左上角。使用这个CGPoint来确定你的用户滚动了多少,当一个适当的数量被滚动时,只需改变UIView/UILabel的颜色。
这是天才,谢谢! – Dvole 2013-08-25 14:03:52