2010-11-17 79 views
0

我有一個滾動視圖,當用戶滾動如何獲取當前可見視圖的標籤時,我將添加幾個視圖到該 。 然後我可以添加一些東西這種觀點......如何知道當前可見視圖的標籤iphone

它就像讓在表視圖indexpathrow ..

該怎麼做..?

感謝

回答

2

你基本上要檢查UIScrollView裏面的子視圖的框架交叉滾動視圖的框架(如果你只是想確定部分可見),或者如果框架包含在其他幀(如你想確定完整的可見性)。

但是,爲了檢查子視圖的框架是否相交和/或包含在滾動視圖的框架中,您需要將其從scrollview中的本地座標轉換爲scrollview之外的全局座標。

這可能很混亂,所以這裏是一些代碼。通過滾動視圖的所有子視圖這將循環,並打印出它是否完全分享範圍或部分可見:

for (UIView *subview in scrollView) 
{ 
    CGRect globalRect = CGRectOffset(subview.frame, -scrollView.contentOffset.x, -scrollView.contentOffset.y); 
    CGRect scrollViewBounds = CGRectMake(0.0f, 0.0f, scrollView.bounds.size.width, scrollView.bounds.size.height); 

    if (CGRectContainsRect(scrollViewBounds, globalRect)) { 
     NSLog(@"FULLY VISIBLE"); 
    } else if (CGRectIntersectsRect(scrollViewBounds, globalRect)) { 
     NSLog(@"PARTIALLY VISIBLE"); 
    }  
} 

你可以把這個在UIScrollViewDelegate方法在用戶周圍滾動內容做這些檢查。

相關問題