2012-05-11 5 views
0

小さな画像でuiscrollviewを実装しようとしています。スクロールが終了すると、空一面を出るときUIScrollviewの質問

  1. は私が中心に残っているすべての終わりにそのUIScrollViewの最後の画像を必要としています。スクロールが終了すると、最後の画像が横に残ります。

  2. 私は

    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; 
    

、それに影を適用するために、scollviewの中心部にある画像を知るためにあなたの助けに感謝する必要があります。

答えて

1

最初と最後の画像を中央に配置するには、最初の画像の前と最後の画像の後に空白スペースを追加します。 UIScrollViewDelegateの内側に以下を追加

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

が中央にある画像を検索するには:他の言葉では:(私は65があなたのイメージが幅であると仮定しています)あなたのyOrigin65で開始し、contentSize幅に65を追加方法scrollViewDidEndDecelerating:

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

やすく、currentImageを取得し、あなたがそれらを作成するときに、あなたの画像にタグを追加する:

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

感謝し、あなたの答えは素晴らしいです! – theomen