IOS 实现类似桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取)
一个类似苹果桌面上长按删除app的效果,就是当你长按屏幕时,会出现缩小图片并出现删除按钮,点击删除按钮,删除图片并且后面图片前移。
当再次点击图片,恢复。点击图片有处理事件,可以在此做一些处理。
源码下载:http://download.csdn.net/download/rhljiayou/6282997
先看效果图:
实现思路&核心代码:
继承于UIScrollView,先在上面创建出所有的view,在每个view上添加单击手势,在uiscrollView上添加长按手势。
//删除view时-(void)buttonChange:(UIButton*)sender{ NSArray *views = self.subviews; __block CGRect newframe; int index = sender.tag - BtnTag; for (int i = index; i < [_imageArray count]; i++) { UIView *obj = [views objectAtIndex:i]; __block CGRect nextframe = obj.frame; if (i == index) { //删除这个view [obj removeFromSuperview]; } else { for (UIView *v in obj.subviews) { //把每个按钮的tag从重设置 if ([v isMemberOfClass:[UIButton class]]) { v.tag = i+BtnTag - 1; break; } } //并且位置动画改变 [UIView animateWithDuration:0.6 animations:^ { obj.frame = newframe; } completion:^(BOOL finished) { }]; } //记住上一个view的位置 newframe = nextframe; } //数组移除 [_imageArray removeObjectAtIndex:index];}
这个还是比较好实现的,你可以在这个基础上再添加一些新的功能,比如使长按view时来回移动,插入到某个view前面时,使期后面的view往后移,
说白了就是完全做成一个跟苹果删除app一样的效果实现,这个你可以尝试做一下!
在此声明,转载注明地址。