2014-02-11 4 views
1

Я использую библиотеку iCarousel в своем маленьком приложении. Я получаю URL-адреса изображений через веб-службу и размещаю эти изображения в библиотеке iCarousel.Невозможно прокрутить изображения iCarousel

Сначала я создал UIView и добавил iCarousel в качестве соответствующего класса. Последнее установило datasourse и удалило ворота в том же классе.

Теперь все выглядит круто, и я мог видеть изображения, но я не мог пронести изображения.

Следующий мой код.

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel 
{ 
    //return the total number of items in the carousel 
    return [galleryItems count]; 
} 

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view 
{ 
    UILabel *label = nil; 

    //create new view if no view is available for recycling 
    if (view == nil) 
    { 
     //NSString *ImageURL = @"YourURLHere"; 
     //NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 
     //imageView.image = [UIImage imageWithData:imageData]; 

     view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200.0f, 200.0f)]; 

     //[((UIImageView *)view) setImageWithURL:[NSURL URLWithString:@"http://www.pizzatower.com/img/icons/Pizza-icon.png"]]; 
     NSURL *imageURL = [[galleryItems objectAtIndex:index] galleryURL]; 
     [((UIImageView *)view) setImageWithURL:imageURL]; 

     view.contentMode = UIViewContentModeScaleAspectFit; 
     label = [[UILabel alloc] init]; 
     label.backgroundColor = [UIColor clearColor]; 
     label.font = [label.font fontWithSize:20]; 
     label.tag = 1; 
     // label.contentMode = UIViewContentModeBottom; 
     //  label.frame = CGRectMake(
     //          self.view.frame.size.width - label.frame.size.width, 
     //          self.view.frame.size.height - label.frame.size.height, 
     //          label.frame.size.width, 
     //          label.frame.size.height); 
     //label.bounds = view.bounds; 
     [view addSubview:label]; 
    } 
    else 
    { 
     //get a reference to the label in the recycled view 
     label = (UILabel *)[view viewWithTag:1]; 
    } 

    //set item label 
    //remember to always set any properties of your carousel item 
    //views outside of the `if (view == nil) {...}` check otherwise 
    //you'll get weird issues with carousel item content appearing 
    //in the wrong place in the carousel 
    //label.text = [[galleryItems objectAtIndex:index] galleryDescription]; 

    return view; 
} 

Я использовал ту же базу кода и работал в каком-то другом проекте. Не знаю, чего мне здесь не хватает. Может кто-нибудь, пожалуйста, просветит меня.

+1

, пожалуйста, добавьте код, связанный с инициализацией карусели ... Кроме того, проверьте, включено ли взаимодействие пользователя, а на каруселе нет слоя. – ZeMoon

ответ

1

У UIView, содержащий карусель, может быть установлено значение userInteractionEnabled равным NO.

Другая возможность заключается в том, что UIView, содержащий карусель, может быть меньше карусели и, таким образом, блокировать взаимодействие. Попробуйте установить его цвет фона, чтобы увидеть его истинный размер.

+0

Спасибо, что помогло. – user3296042

0

Я предлагаю удалить ваш nib или ViewController в своем раскадровке и воссоздать его. У меня была одна и та же проблема один раз и после ее повторного создания она работала. Удостоверьтесь, что вы центрируете свой UIView при его размещении (как по горизонтали, так и по вертикали)

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