2011-04-04 60 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