首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新加载iCarousel图像?

如何重新加载iCarousel图像?
EN

Stack Overflow用户
提问于 2013-05-16 05:19:12
回答 2查看 1.9K关注 0票数 0

如何在不同的uibutton操作中将不同的图像数组传递给iCarousel。如何用不同的图像重新加载iCarousel?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-05-16 05:41:59

有一种方法- (void)reloadData;UITableView一样

这是GitHub/iCarousel的描述,

这将从dataSource重新加载所有旋转木马视图,并刷新旋转木马显示。

票数 5
EN

Stack Overflow用户

发布于 2013-05-16 05:36:51

iCarouselButtonsDemo项目在iCarousel上试一试

iCarouselExampleViewController.h文件中的

代码语言:javascript
复制
#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文件中的

代码语言:javascript
复制
#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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16579490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档