2012-06-28 6 views
2

Я загружаю кучу изображений в обложке, используя i carousel, но я не получаю это? .. сначала я получил сигнал сигабарта Signal .. после того, как я отредактировал некоторый код, который отображается на экране ... Я что-то пропустил ? ...Как загрузить несколько изображений в iCarousel с помощью этого кода?

#import "CollectionViewController.h" 

@interface CollectionViewController() 
@property (nonatomic, retain) NSMutableArray *items; 
@end 

@implementation CollectionViewController 

@synthesize carousel; 
@synthesize items; 




- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
if (self) { 
    // Custom initialization 
} 
return self; 
} 

- (void)dealloc 
{ 

carousel.delegate = nil; 
carousel.dataSource = nil; 
[items release]; 

[carousel release]; 
[super dealloc]; 
} 
- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
carousel.type = iCarouselTypeCoverFlow2; 

} 

- (void)viewDidUnload 
{ 
[super viewDidUnload]; 

self.carousel = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

#pragma mark - 
#pragma mark iCarousel methods 

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel 
{ 
return [items count]; 
} 

- (NSUInteger)numberOfVisibleItemsInCarousel:(iCarousel *)carousel 
{ 

return 29; 
} 


- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view 
{ 


//create new view if no view is available for recycling 
if (view == nil) 
{ 

    view = [NSArray arrayWithObjects:[UIImage imageNamed:@"gal1.jpg"], 
      [UIImage imageNamed:@"gal2.jpg"], 
      [UIImage imageNamed:@"gal3.jpg"], 

      [UIImage imageNamed:@"gal5.jpg"], 
      [UIImage imageNamed:@"gal6.jpg"], 
      [UIImage imageNamed:@"gal7.jpg"], 
      [UIImage imageNamed:@"gal8.jpg"], 
      [UIImage imageNamed:@"gal9.jpg"], 
      [UIImage imageNamed:@"gal10.jpg"], 
      [UIImage imageNamed:@"gal11.jpg"], 
      [UIImage imageNamed:@"gal12.jpg"], 
      [UIImage imageNamed:@"gal13.jpg"], 
      [UIImage imageNamed:@"gal14.jpg"], 
      [UIImage imageNamed:@"gal15.jpg"], 
      [UIImage imageNamed:@"gal16.jpg"], 
      [UIImage imageNamed:@"gal17.jpg"], 
      [UIImage imageNamed:@"gal18.jpg"], 
      [UIImage imageNamed:@"gal19.jpg"], 
      [UIImage imageNamed:@"gal20.jpg"], 
      [UIImage imageNamed:@"gal21.jpg"], 
      [UIImage imageNamed:@"gal22.jpg"], 
      [UIImage imageNamed:@"gal23.jpg"], 
      [UIImage imageNamed:@"gal24.jpg"], 
      [UIImage imageNamed:@"gal25.jpg"], 
      [UIImage imageNamed:@"gal26.jpg"], 
      [UIImage imageNamed:@"gal27.jpg"], 
      [UIImage imageNamed:@"gal28.jpg"], 

} 

else { 

} 

    return view; 
} 


@end 

во время работы на тренажере я просто получаю экран не изображения? ... я застрял здесь ....

ответ

1

Я сделал это уже. Вот попробуйте следующее:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 

     //set up carousel data 
     wrap = NO; 

     self.items = [NSArray arrayWithObjects:[UIImage imageNamed:@"gal1.jpg"], 
      [UIImage imageNamed:@"gal2.jpg"], 
      [UIImage imageNamed:@"gal3.jpg"], 
      [UIImage imageNamed:@"gal5.jpg"], 
      [UIImage imageNamed:@"gal6.jpg"], 
      [UIImage imageNamed:@"gal7.jpg"], 
      [UIImage imageNamed:@"gal8.jpg"], 
      [UIImage imageNamed:@"gal9.jpg"], 
      [UIImage imageNamed:@"gal10.jpg"], 
      [UIImage imageNamed:@"gal11.jpg"], 
      [UIImage imageNamed:@"gal12.jpg"], 
      [UIImage imageNamed:@"gal13.jpg"], 
      [UIImage imageNamed:@"gal14.jpg"], 
      [UIImage imageNamed:@"gal15.jpg"], 
      [UIImage imageNamed:@"gal16.jpg"], 
      [UIImage imageNamed:@"gal17.jpg"], 
      [UIImage imageNamed:@"gal18.jpg"], 
      [UIImage imageNamed:@"gal19.jpg"], 
      [UIImage imageNamed:@"gal20.jpg"], 
      [UIImage imageNamed:@"gal21.jpg"], 
      [UIImage imageNamed:@"gal22.jpg"], 
      [UIImage imageNamed:@"gal23.jpg"], 
      [UIImage imageNamed:@"gal24.jpg"], 
      [UIImage imageNamed:@"gal25.jpg"], 
      [UIImage imageNamed:@"gal26.jpg"], 
      [UIImage imageNamed:@"gal27.jpg"], 
      [UIImage imageNamed:@"gal28.jpg"],nil]; 
} 
return self; 

}

Затем в:

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index 
{ 

    UIView *view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[items objectAtIndex:index]]]; 
    return view; 
} 

О, и еще один, любезно редактировать numberOfVisibleItemsInCarousel и установить его в return 7; так оно не память отходов, я думать.

+0

но что это обертка .. – Dany

+0

@ Дани, вы можете просто игнорированием? или использовать его, но если вы его используете, установите его свойство в BOOL wrap и т. д., если ваш оберткой нет, он будет выступать с обеих сторон, но если установлено значение YES, будет как бесконечный цикл. вы попробовали мой ответ? – Bazinga

+0

Нет, что не работает .. – Dany

1

iCarousel рабочий код:

метод делегата:

- (UIView *)carousel:(__unused iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view{ 

    if (view == nil){ 

    view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 400 , 600)]; 
    ((UIImageView *)view).image = [UIImage imageNamed:[imageCarosualArray objectAtIndex:index]]; 
    view.contentMode = UIViewContentModeCenter; 
    [view.layer setMasksToBounds:YES]; 
    } 
    return view; 
} 

Multiple изображения в массиве

CarosualArray =[[NSMutableArray alloc]initWithObjects:@"test1.png",@"test2.png",@"test3.png",@"test4.png",@"test5.png",@"test6.png",@"test7.png",@"test8.png",@"test9.png", nil]; 
Смежные вопросы