2012-05-11 137 views
0

我試圖實現一個與小圖像uiscrollview。UIScrollview問題

  1. 我需要uiscrollview每個結尾的最後一張圖片在滾動結束時保留在中間,留下一邊爲空。當滾動結束時,現在最後一張圖片保留在兩側。

  2. 我需要知道哪些圖片是在scollview的中心,在其上應用陰影,

    jugadorSlide.pagingEnabled = YES; 
    NSError *error = nil; 
    fotosJugadores = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: @"/Users/exular/Developer/GBC/exular/GBC/Caras/" error: &error]; 
    
    NSInteger numberOfViews = [fotosJugadores count]; 
    for (int i = 0; i < numberOfViews; i++) { 
    
        UIImage *myImage = [UIImage imageNamed:[fotosJugadores objectAtIndex:i]]; 
        CGFloat yOrigin = i * myImage.size.width; 
        UIImageView *awesomeView = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin, 0, myImage.size.width, myImage.size.height)]; 
        awesomeView.alpha = 0.5; 
        awesomeView.image = myImage; 
        [self.jugadorSlide addSubview:awesomeView]; 
        awesomeView=nil; 
    } 
    jugadorSlide .contentSize = CGSizeMake(65 * numberOfViews,78); 
    jugadorSlide.layer.cornerRadius = 11; 
    jugadorSlide.layer.masksToBounds = YES; 
    

非常感謝您的幫助。

回答

1

要讓第一張和最後一張圖像位於中間,只需在第一張圖像之前和最後一張圖像之後添加一個空白區域即可。換句話說:啓動yOrigin65並添加65contentSize寬度(我假設65是你的圖像寬度):

... 
CGFloat yOrigin = i * myImage.size.width + 65; 
... 
jugadorSlide.contentSize = CGSizeMake(65 * numberOfViews + 65,78); 
... 

要找出哪個圖像是在中心添加UIScrollViewDelegate內以下方法scrollViewDidEndDecelerating:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    int currentIndex = roundf(scrollView.contentOffset.x/65) - 1; 
    UIImageView *currentImage = [scrollView viewWithTag:currentIndex]; 
} 

要輕鬆獲得currentImage,添加標籤到你的圖片,當你創建它們:

... 
awesomeView.tag = i; 
... 
+0

非常感謝,你的回答是驚人的! – theomen