我有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;
}
答案 0 :(得分:3)
在您的滚动视图上设置 UIScrollViewDelegate (最有可能是自我)。
scrollView.delegate=self
然后在您的委托类
上实现以下内容- (void)scrollViewDidScroll:(UIScrollView *)scrollView {...}
然后在该委托函数中查看 scrollview.contentOffset 属性。这将告诉您滚动视图左上角的当前位置(通过CGPoint)。使用此CGPoint来确定用户滚动了多少以及滚动适当数量时只需更改UIView / UILabel的颜色。