读书人

IOS 实现相仿桌面删除应用程序的效果(

发布时间: 2013-10-08 16:55:16 作者: rapoo

IOS 实现类似桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取)

一个类似苹果桌面上长按删除app的效果,就是当你长按屏幕时,会出现缩小图片并出现删除按钮,点击删除按钮,删除图片并且后面图片前移。

当再次点击图片,恢复。点击图片有处理事件,可以在此做一些处理。

源码下载:http://download.csdn.net/download/rhljiayou/6282997

先看效果图:

IOS 实现相仿桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取) IOS 实现相仿桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取)


IOS 实现相仿桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取) IOS 实现相仿桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取)


实现思路&核心代码:

继承于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一样的效果实现,这个你可以尝试做一下!


在此声明,转载注明地址。



读书人网 >操作系统

热点推荐