2013-05-16 70 views
0

如何將不同的圖像數組傳遞給iCarousel在不同的uibutton動作中。如何用不同的圖像重新加載iCarousel?如何重新加載iCarousel圖像?

在此先感謝。

+0

你可以檢查在這裏,theres很多可用的描述https://github.com/nicklockwood/iCarousel –

+0

你有iCarousel演示從github? – DharaParekh

回答

1

iCarouselButtonsDemo項目試試這iCarousel

在iCarouselExampleViewController.h文件

#import <UIKit/UIKit.h> 
#import "iCarousel.h" 


@interface iCarouselExampleViewController : UIViewController <iCarouselDataSource, iCarouselDelegate> { 
    NSMutableArray *arrImages; 
} 

@property (nonatomic, retain) IBOutlet iCarousel *carousel; 
@property (nonatomic, retain) NSMutableArray *arrImages; 

@end 

在iCarouselExampleViewController.m文件

#import "iCarouselExampleViewController.h" 

@implementation iCarouselExampleViewController 

@synthesize carousel,arrImages; 

- (void)dealloc { 
    carousel.delegate = nil; 
    carousel.dataSource = nil; 
    [carousel release]; 
    [arrImages release]; 
    [super dealloc]; 
} 

#pragma mark - 
#pragma mark View lifecycle 

- (void)viewDidLoad  { 
    [super viewDidLoad]; 

    arrImages = [[NSMutableArray alloc] init]; 

    for (int i = 0; i < 100; i++) { 
     [arrImages addObject:[NSString stringWithFormat:@"Image%d.png",i]]; 
    } 
    //configure carousel 
    carousel.type = iCarouselTypeCoverFlow2; 
}  

- (void)viewDidUnload { 
    [super viewDidUnload]; 
    self.carousel = nil; 
} 

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

#pragma mark - 
#pragma mark iCarousel methods 

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel { 
    //generate 100 buttons 
    //normally we'd use a backing array 
    //as shown in the basic iOS example 
    //but for this example we haven't bothered 
    return 100; 
} 

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view { 
UIButton *button = (UIButton *)view; 
if (button == nil) { 
    //no button available to recycle, so create new one 
    UIImage *image = [UIImage imageNamed:@"page.png"]; 
    button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    button.frame = CGRectMake(0.0f, 0.0f, image.size.width, image.size.height); 
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
    [button setBackgroundImage:image forState:UIControlStateNormal]; 
    button.titleLabel.font = [button.titleLabel.font fontWithSize:50]; 
    [button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; 
} 

//set button label 
[button setTitle:[NSString stringWithFormat:@"%i", index] forState:UIControlStateNormal]; 
[button setBackgroundImage:[UIImage imageNamed:[arrImages objectAtIndex:index]] forState:UIControlStateNormal]; 
    [button setImage:[UIImage imageNamed:[arrImages objectAtIndex:index]] forState:UIControlStateNormal]; 
return button; 
} 

#pragma mark - 
#pragma mark Button tap event 

- (void)buttonTapped:(UIButton *)sender { 
//get item index for button 
NSInteger index = [carousel indexOfItemViewOrSubview:sender]; 

    [[[[UIAlertView alloc] initWithTitle:@"Button Tapped" 
          message:[NSString stringWithFormat:@"You tapped button number %i", index] 
          delegate:nil 
        cancelButtonTitle:@"OK" 
        otherButtonTitles:nil] autorelease] show]; 
} 

@end 
5

- (void)reloadData; 同一種方法你與UITableView

做下面是從GitHub/iCarousel描述,

此重新加載從數據源的所有轉盤的意見,並刷新轉盤顯示。