2012-05-11 1 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

Чтобы первое и последнее изображение было в центре, просто добавьте пустое пространство перед первым изображением и после последнего изображения. Другими словами: начать свой yOrigin на 65 и добавить 65 к contentSize ширине (я предполагаю, что 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

Смежные вопросы