介绍
本篇文章给大家分享的是有关如何在iOS中利用collectionView实现一个照片删除功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<>强,工程图。强>
<强>三、代码。强>
<强> ViewController。h 强>
# import & lt; UIKit/UIKit.h> @interface ViewController : ui & lt; UICollectionViewDataSource、UICollectionViewDelegate UICollectionViewDelegateFlowLayout、UIAlertViewDelegate UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate> { ,UICollectionView * _collectionView; ,UIImagePickerController * _imagePicker; ,NSMutableArray *照片; ,NSMutableArray * dataArray; ,NSInteger deleteIndex; ,BOOL 摆动; } @end
<强> ViewController。m 强>
//点击添加按钮的时候,停止删除。 # import “ViewController.h" # import “photoCollectionViewCell.h" NSInteger const  Photo =, 8; @interface ViewController () @end @implementation ViewController 安康;(空白)viewDidLoad { ,[super viewDidLoad]; ,//Do any  additional setup after loading 从而看来,typically 得到a 笔尖。 ,//其布局很有意思,当你的手机设置大小后,一行多少个细胞,由细胞的宽度决定 ,UICollectionViewFlowLayout * flowLayout =, [[UICollectionViewFlowLayout alloc] init]; ,//设置细胞的尺寸 ,(flowLayout setItemSize: CGSizeMake (70,, 70)]; ,//设置其布局方向 ,[flowLayout setScrollDirection UICollectionViewScrollDirectionVertical):; ,//设置其边界(上、左、下,右)=,,flowLayout.sectionInset  UIEdgeInsetsMake (5 5 5 5);=,_collectionView [[UICollectionView alloc] initWithFrame: CGRectMake(10日,50岁,320年,85 * 2),collectionViewLayout: flowLayout);=,_collectionView.dataSource 自我;=,_collectionView.delegate 自我;=,_collectionView.backgroundColor [UIColor redColor]; ,[_collectionView registerClass: [photoCollectionViewCell 类],forCellWithReuseIdentifier: @" photo"]; ,[self.view addSubview _collectionView):;=,photos [[NSMutableArray alloc ], init);=,dataArray [[NSMutableArray alloc ], init); ,[dataArray addObject: [UIImage imageNamed: @" contract_addpic1"]]; }//部分 安康;(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *) collectionView { ,return 1; }//个项数 安康;(NSInteger) collectionView:(UICollectionView *) collectionView numberOfItemsInSection: (NSInteger)部分 { ,return dataArray.count; } ——(UICollectionViewCell *) collectionView:(UICollectionView *) collectionView cellForItemAtIndexPath: indexPath (NSIndexPath *) { ,NSLog (@" - indexpath。row - % ld" indexpath。row); ,NSLog (@"——-indexpath.section % ld", indexPath.section); ,photoCollectionViewCell * cell =, (photoCollectionViewCell *) [collectionView dequeueReusableCellWithReuseIdentifier: @" photo", forIndexPath: indexPath); ,cell.tag=indexpath。row; ,//图片 ,cell.photoImage.image=dataArray (indexpath。row); ,//删除按钮 ,cell.deleteBtn.tag =indexpath。row; ,cell.deleteBtn.hidden=是的; ,[cell.deleteBtn addTarget: self 行动:@ selector (doClickDeleteButton:), forControlEvents: UIControlEventTouchUpInside); ,//增加按钮 ,if (indexPath.row ==, dataArray.count 1), { cell.addBtn.hidden 才能,=,没有; 其他,} ,{ 时间=cell.addBtn.hidden 才能;是的; ,} ,[cell.addBtn addTarget: self 行动:@ selector (doClickAddButton:), forControlEvents: UIControlEventTouchUpInside); ,//长按删除 ,UILongPressGestureRecognizer * longPress =, [[UILongPressGestureRecognizer alloc ], initWithTarget: self 行动:@ selector (longPressedAction)]; ,[cell.contentView addGestureRecognizer longPress):; ,return 细胞; } # pragma -mark -doClickActions//删除按钮 - (void) doClickDeleteButton:(UIButton *) btn { ,NSLog (@"——-doClickDeleteButton - - - - - -产生绯闻;); ,UIAlertView * alert =, [[UIAlertView alloc ], initWithTitle: @"提示“,信息:@"您确定要删除吗?“,代表:self cancelButtonTitle: @"取消“,otherButtonTitles: @"确定“,,nil);=,,deleteIndex  btn.tag; ,(alert 显示); ,NSLog (@"——删除dataArray——% @", dataArray); }//增加按钮 - (void) doClickAddButton:(UIButton *) btn { ,NSLog (@"——-doClickAddButton - - - - - -产生绯闻;); ,if (摆动),{//才能,如果是编辑状态则取消编辑状态 (才能self cancelWobble); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null如何在iOS中利用collectionView实现一个照片删除功能