2011-04-04 31 views
2

我有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; 
} 

回答

3

设置你的滚动视图(最有可能自我)的UIScrollViewDelegate

scrollView.delegate=self 

然后实现在您委托类

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {...} 

以下然后该委托函数中有一个看看scrollview.contentOffset财产。这会告诉你当前位置(通过CGPoint)你的滚动视图的左上角。使用这个CGPoint来确定你的用户滚动了多少,当一个适当的数量被滚动时,只需改变UIView/UILabel的颜色。

+0

这是天才,谢谢! – Dvole 2013-08-25 14:03:52