集合视图,最后添加图像按钮

时间:2014-06-12 17:15:40

标签: ios objective-c uicollectionview

我有一个充满图像的集合视图,我需要最后一个单元格作为按钮,所以当它被点击时我可以上传照片或带相机,任何关于如何做到这一点的想法??

我的cellForItemAtIndexPath如下所示:

-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionViewcellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];


UIImageView * imageView = (UIImageView*)[cell viewWithTag:101];

imageView.image = [arrayImages objectAtIndex:indexPath.row];

[cell.layer setBorderWidth:2.0f];
[cell.layer setBorderColor:[UIColor whiteColor].CGColor];

return cell;    

}

1 个答案:

答案 0 :(得分:0)

在我看来,最简单和正确的方法是创建一个自定义单元格,当按下按钮时调用委托,并在集合视图控制器中实现委托,以便您可以响应按钮事件。

AddImageCell.h

@protocol AddImageCellDelegate <NSObject>
@required
- (void)cell:(AddImageCell *)cell didAddImage;
@end

@interface AddImageCell : UICollectionViewCell
{
    id <AddImageCellDelegate> _delegate;
}

@property (nonatomic, assign) IBOutlet id<AddImageCellDelegate> delegate;

AddImageCell.m

@synthesize delegate;

- (IBAction)didTapAddImageButton:(id)sender {
    [delegate cell:self didAddImage];
}

TableViewController.m

-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionViewcellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    [...]

    cell.delegate = self;
    return cell;
}

在集合视图控制器中实现您的委托方法,就像您对另一个委托所做的那样。希望这会对你有所帮助!