2015-08-03 7 views
0

Я создал прокрутку, но я хочу, чтобы она действовала как просмотр страницы.Исправить следующее изображение в виде прокрутки, как на странице просмотра

- (void)setupScrollView:(UIScrollView*)scrMain { 
      for (int i=1; i<=11; i++) { 
       image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]]; 
         if (i==1) { 
        imgV = [[UIImageView alloc] initWithFrame:CGRectMake(20, 2, 289, 470)]; 
       } 
       else 
        imgV = [[UIImageView alloc] initWithFrame:CGRectMake((i-1)*350, 2, 289, 470)]; 
       imgV.contentMode=UIViewContentModeScaleToFill; 
       [imgV setImage:image]; 
       imgV.tag=i+1; 
       [imgV bringSubviewToFront:self.aleatoire]; 
       [scrMain addSubview:imgV]; 
       UIImageView *aleatoire=[[UIImageView alloc]initWithFrame:CGRectMake (self.aleatoire.frame.origin.x-19,self.aleatoire.frame.origin.y,self.aleatoire.frame.size.width,self.aleatoire.frame.size.height)]; 
       aleatoire.image=self.aleatoire.image; 
       [imgV addSubview:aleatoire]; 
       [imgV bringSubviewToFront:aleatoire]; 
       UIButton *rand = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
       [rand addTarget:self 
         action:@selector(randomBtn:) 
        forControlEvents:UIControlEventTouchUpInside]; 

       rand.frame=aleatoire.frame; 

       rand.backgroundColor=[UIColor clearColor]; 
       rand.userInteractionEnabled = YES; 


       imgV.userInteractionEnabled=YES; 
       [imgV addSubview:rand]; 
       [imgV bringSubviewToFront:rand]; 




      } 
      [scrMain setContentSize:CGSizeMake(scrMain.frame.size.width*11, scrMain.frame.size.height)]; 

     } 

, но у меня этот вопрос: enter image description here

следующее изображение находится не в центре. Любой идеал, где я ошибаюсь?

+0

Вы свернули подкачки для вида прокрутки? – Wain

+0

попробуйте эту ссылку, может быть, вам поможет http://stackoverflow.com/questions/638299/uiscrollview-with-centered-uiimageview-like-photos-app –

ответ

1

Вы установили UIScrollView пейджинг pagingEnabled свойство позволяет создавать поведение прокрутки, например pageView.

попробовать этот код:

scrMain.pagingEnabled=YES; 
scrMain.contentOffset = CGPointMake([[UIScreen mainScreen] bounds].size.width, 0); // set your size to scroll content 

Простой способ создания pagerView в UIScrollView

int x = 0; 

    for (int i=1; i<=11; i++) { 
     UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(x, 0, [[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height)]; 
     img.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]]; 

     [self.scrollView addSubview:img]; 
     x = x + [[UIScreen mainScreen] bounds].size.width; 
    } 
    self.scrollView.contentSize = CGSizeMake(x, [[UIScreen mainScreen] bounds].size.height-64); 
    self.scrollView.pagingEnabled = YES; 

    self.scrollView.contentOffset = CGPointMake([[UIScreen mainScreen] bounds].size.width, 0); 
+0

Я установил scrMain.pagingEnabled = YES; scrMain.contentOffset = CGPointMake (scrMain.frame.size.width, 0); но он прокручивается слишком быстро до конца –

+0

твоя идеа, это работает, спасибо, Еще один вопрос. Почему начинается со второго изображения? –

+0

вы установили x = 0? и scrollVIew x = 0, y = 0, width = height = размер экрана @AdinaMarin –