Добавьте 10 различных UIImages в UIScrollView - PullRequest
4 голосов
/ 29 июля 2011

Я пытаюсь добавить различные UIImages в UIImageView и позволить им прокручиваться с помощью UIScrollView. Я не уверен, как добавить различные изображения в UIImageView и позволить им прокручиваться. Ниже мой код, который добавляет изображение на UIImageView и делает его прокручиваемым.

- (void)viewDidLoad {

    [super viewDidLoad];
    UIImage *image = [UIImage imageNamed:@"ae.jpg"];
    imageView = [[UIImageView alloc]initWithImage:image];
    imageView.frame = [[UIScreen mainScreen] bounds];
    imageView.contentMode = (UIViewContentModeScaleAspectFit);
    imageView.autoresizingMask = ( UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    imageView.backgroundColor = [UIColor clearColor];



    UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    scrollView.contentMode = (UIViewContentModeScaleAspectFit);

    scrollView.contentSize = CGSizeMake(image.size.width,960);
    scrollView.pagingEnabled = NO;
    scrollView.showsVerticalScrollIndicator = NO;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.alwaysBounceVertical = NO;
    scrollView.alwaysBounceHorizontal = NO;
    scrollView.autoresizingMask = ( UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    scrollView.maximumZoomScale = 2.5;
    scrollView.minimumZoomScale = 1;
    scrollView.clipsToBounds = YES;
   [scrollView addSubview:imageView];
   [image release];
    [imageView release];
   [self.view addSubview:scrollView];
}

1 Ответ

8 голосов
/ 29 июля 2011

Идея в основном проста.Предположим, вы хотите разместить 3 изображения в UIScrollView.Каждое из изображений 300x300.В этом случае у вас будет представление прокрутки с рамкой:

scrollView.contentSize = CGSizeMake(image.size.width,900);

Для каждого изображения необходим UIImageView с соответствующей рамкой:

imgView1 = [[UIImageView alloc] initWithFrame:CGRectMake(xOrigin, 0, 300, 300)];
imgView2 = [[UIImageView alloc] initWithFrame:CGRectMake(xOrigin, 300, 300, 300)];
imgView3 = [[UIImageView alloc] initWithFrame:CGRectMake(xOrigin, 600, 300, 300)];
imgView1.image = [UIImage imageNamed:@"ProperName.png"];
...

(обратите внимание на yOrigin (2ndзначение в CGRectMake)) и затем, как вы сделали:

[scrollView addSubview:imgView1];
[scrollView addSubview:imgView2];
[scrollView addSubview:imgView3];
[imgView1 release];
[imgView2 release];
[imgView3 release];

Конечно, это краткий код, вы его оптимизируете;)

...