2013-09-02 2 views
0

Привет Я новичок в StackOverflow и надеюсь выяснить, что мне нужно сделать, чтобы иметь возможность ссылаться на индивидуальное изображение, которое я создал в массиве для прокрутки. Вот вид прокрутки с массивом:Доступ к одиночным изображениям в пределах NSMutableArray

int PageCount = 2; 

     NSMutableArray *myArray =[[NSMutableArray alloc]initWithObjects:@"12-4.png",@"13-4.png",nil]; 

     scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
     scroller.scrollEnabled=YES; 
     scroller.backgroundColor = [UIColor clearColor]; 
     scroller.pagingEnabled = YES; 
     [self.view addSubview:scroller]; 
     width=scroller.frame.size.width; 
     xPos=0; 
     for (int i=0; i<PageCount; i++) 
     { 
      ImgView = [[UIImageView alloc]initWithFrame:CGRectMake(xPos, 0, scroller.frame.size.width, scroller.frame.size.height)]; 
      [ImgView setImage:[UIImage imageNamed:[myArray objectAtIndex:i]]]; 
      [scroller addSubview:ImgView]; 
      scroller.contentSize = CGSizeMake(width, 0); 
      width +=scroller.frame.size.width; 
      xPos +=scroller.frame.size.width; 
     } 

И затем, если заявление я хотел бы быть в состоянии определить, какой образ я в данный момент в окне прокрутки, и я попытался это так:

if (ImgView.image == [UIImage imageNamed:[arrImageName objectAtIndex:0]]) 
     { 
      NSLog(@"Yes"); 
     } 

Пытается увидеть, если пользователь находится на первом изображении по objectAtIndex:0, но, к сожалению, это не сработало. Что мне нужно сделать в инструкции if, чтобы определить, что пользователь находится на первой фотографии? Спасибо!

+0

Для вашего 'if', что такое' ImgView'? – Wain

ответ

0

Вы должны выполнить расчеты на основе размера страницы и `contentOffset 'вида прокрутки. Попытка сравнить изображения будет намного сложнее и гораздо менее надежна.

+0

, поэтому в случае, если пользователь находится на первом изображении, используя 'if (scroller.contentOffset.x == 0)', это хороший способ сделать это? – Inovize

+0

Смещение может быть не равным 0, поэтому вы должны определить диапазон допустимых значений. Что делать, если пользователь находится в середине прокрутки ... – Wain

+0

правда, спасибо! Так вы знаете, если смещение для первой фотографии будет просто равно размеру моего iPhone? Ширина фотографии равна 320, так что теперь у меня есть 'if (scroller.contentOffset.x> = 0 <320)' – Inovize

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