2014-11-12 3 views
0

В следующей реализации изображения были получены из базы данных. Как только я поместил точку отладки и посмотрю, сколько изображений возвращается в веб-службу, она показывает пять. Однако в моем прокрутке отображается только три изображения.ScrollView Image -Page Control iOS

-(void) setSizeSliding 
{ 
    for (int i = 0; i < colors.count; i++) { 
     CGRect frame; 
     frame.origin.x = self.scrollView.frame.size.width * i; 
     frame.origin.y = 0; 
     frame.size = self.scrollView.frame.size; 

     NSString*slidingImage = [[colors objectAtIndex:i] valueForKey:@"picture"]; 
     NSURL *url = [NSURL URLWithString:slidingImage]; 
     NSData *data = [[NSData alloc] initWithContentsOfURL:url]; 
     UIImage *tmpImage = [[UIImage alloc] initWithData:data]; 

     UIImageView *slidingImageView = [[UIImageView alloc]initWithFrame:frame]; 
     slidingImageView.image = tmpImage; 
     [self.scrollView addSubview:slidingImageView]; 
    } 

    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * colors.count, self.scrollView.frame.size.height); 


} 

Update:

если изменить свойство страницы управления страницы, то я мог бы иметь возможность прокручивать до всех пяти изображений. Однако, как я мог избежать значения const?

enter image description here

+0

Вы проверили, что вы получили 'tmpImage' для всех? –

+0

Это петли 5 раз. У меня есть изображения для отображения на scrollview, но отображаются только 3 из них. – casillas

+0

да, вы получите 'colors.count = 5', но заходите в цикл, чтобы вы получили все изображения по подсчету? –

ответ

0

Вот решение после того, как я добавил self.pageControl.numberOfPages в мой код, он работает.

-(void) setSizeSliding 
    { 
     for (int i = 0; i < colors.count; i++) { 
      CGRect frame; 
      frame.origin.x = self.scrollView.frame.size.width * i; 
      frame.origin.y = 0; 
      frame.size = self.scrollView.frame.size; 

      NSString*slidingImage = [[colors objectAtIndex:i] valueForKey:@"picture"]; 
      NSURL *url = [NSURL URLWithString:slidingImage]; 
      NSData *data = [[NSData alloc] initWithContentsOfURL:url]; 
      UIImage *tmpImage = [[UIImage alloc] initWithData:data]; 

      UIImageView *slidingImageView = [[UIImageView alloc]initWithFrame:frame]; 
      slidingImageView.image = tmpImage; 
      [self.scrollView addSubview:slidingImageView]; 
     } 

     self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * colors.count, self.scrollView.frame.size.height); 
    //solution  
    // the following code needs to be added to handle number of pages 
    self.pageControl.numberOfPages = colors.count; 


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