Objective c UIScrollview问题

Objective c UIScrollview问题,objective-c,ios5,Objective C,Ios5,我正在尝试用小图像实现uiscrollview 我需要uiscrollview在每一端的最后一个图像在滚动结束时保持在中间,留下一边空白。现在,滚动结束后,最后一个图像仍保留在侧面 我需要知道哪个图像位于scollview的中心,以便在其上应用阴影 jugadorSlide.pagingEnabled = YES; NSError *error = nil; fotosJugadores = [[NSFileManager defaultManager] contentsOfDirectoryA

我正在尝试用小图像实现uiscrollview

  • 我需要uiscrollview在每一端的最后一个图像在滚动结束时保持在中间,留下一边空白。现在,滚动结束后,最后一个图像仍保留在侧面

  • 我需要知道哪个图像位于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;
    
    jugadorside.paginabled=YES;
    n错误*错误=nil;
    fotosJugadores=[[NSFileManager defaultManager]目录目录路径:@”/Users/exular/Developer/GBC/exular/GBC/Caras/“error:&error];
    NSInteger numberOfViews=[fotosJugadores计数];
    对于(int i=0;i

  • 非常感谢您的帮助。

    要使第一个和最后一个图像位于中间,只需在第一个图像之前和最后一个图像之后添加一个空格即可。换句话说:从
    65
    开始您的
    yOrigin
    并将
    65
    添加到
    contentSize
    宽度(我假设
    65
    是您的图像宽度):

    要找出哪个图像位于中间,请在UIScrollViewDelegate方法中添加以下内容
    ScrollViewDiEndDecelling:

    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
        int currentIndex = roundf(scrollView.contentOffset.x / 65) - 1;
        UIImageView *currentImage = [scrollView viewWithTag:currentIndex];
    }
    
    要轻松获取当前图像,请在创建图像时向图像添加标记:

    ...
    awesomeView.tag = i;
    ...
    
    ...
    awesomeView.tag = i;
    ...