如何将图像从相机/UIImagePickerController 动态添加到 iPhone 中的 iCarousel

Posted

技术标签:

【中文标题】如何将图像从相机/UIImagePickerController 动态添加到 iPhone 中的 iCarousel【英文标题】:How to add images dynamically from camera/UIImagePickerController to iCarousel in iPhone 【发布时间】:2012-06-25 11:03:02 【问题描述】:

我正在使用 iCarousel,如图所示here。但我想通过从相机或图像选择器中拍摄照片来动态添加图像。以下是我的代码,

- (void)loadView 

    [super loadView];
    imagesArray = [[NSMutableArray alloc]init] ;
    // Initialize and configure the carousel
    carousel = [[iCarousel alloc] initWithFrame:CGRectMake(0,50, 100, 100)];
    carousel.autoresizingMask = UIViewAutoresizingFlexibleWidth |   UIViewAutoresizingFlexibleHeight;
    carousel.type = iCarouselTypeCoverFlow;
    carousel.dataSource = self;
    [self.view addSubview:carousel];

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel

    return [imagesArray count];


- (NSUInteger)numberOfPlaceholdersInCarousel:(iCarousel *)carousel

    //note: placeholder views are only displayed on some carousels if wrapping is disabled
    return  [imagesArray count];


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

    UIImage *image = [imagesArray objectAtIndex:index];
    UIButton *button = [[[UIButton alloc] initWithFrame:CGRectMake(0,50,100, 100)] autorelease];
    [button setBackgroundImage:image forState:UIControlStateNormal];
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    button.titleLabel.font = [button.titleLabel.font fontWithSize:50];
    [button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
    button.tag=index;
    return button;


-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo

    [imagesArray addObject:image];
    NSLog(@"array count is %d",[imagesArray count]);
    [picker dismissModalViewControllerAnimated:YES];



即使我能够将图像添加到数组中,也只有一张图像出现在封面流中的 imageView 中。 谁能帮帮我。

【问题讨论】:

【参考方案1】:

修改数组后需要在轮播上调用reloadData。

【讨论】:

我在 [imagesArray addObject:image] 语句之后写了 [carousel reloadData]。它对我有用..非常感谢和非常棒的教程.. - (void)buttonTapped:(UIButton *)sender 当我点击封面时,这个方法没有调用我。你能告诉我吗? 查看库中包含的“按钮演示”示例,看看您是否可以看到您正在做的任何不同的事情。 看起来您实际上使用的是相当旧的版本,或者您可能遵循了过时的教程。从 github 下载最新版本并查看示例,因为一些方法名称现在已更改。 你不应该不断地用不同的信息更新同一个问题。我现在发布的原始答案没有意义,因为我正在回答一个不同的问题。 Stack Overflow 问题旨在为其他寻求答案的开发人员提供参考。请将您的原始问题放回原处,然后将新问题作为单独的条目提交到 Stack Overflow。

以上是关于如何将图像从相机/UIImagePickerController 动态添加到 iPhone 中的 iCarousel的主要内容,如果未能解决你的问题,请参考以下文章

如何避免将从相机胶卷中挑选的图像保存到相机胶卷? [iOS]

如何从相机捕获多张图像并使用位图将其编码为字符串?

如何将图像从相机/UIImagePickerController 动态添加到 iPhone 中的 iCarousel

如何将图像从相机保存到 iPhone 画廊中的特定文件夹?

如何在android中保存从相机拍摄的图像

如何将图像从安卓相机上传到网络服务器(不在应用程序中)