仿iPhone系统AssistiveTouch功能球实现

一、简单说一下Demo实现的功能需求:
1、类似于iPhone的AssistiveTouch的功能小球;
2、可随手势拖动;
3、拖动手势结束后,有侧边吸附效果;
4、单击后动画展开,弹出其它功能按键;
5、可全局控制小球显示和隐藏的状态。

二、说一下开发当中遇到的关键点:
1、因为浮层需要置顶,不能影响其它视图的使用,且会在任意位置呼出,因此考虑使用UIWindow进行实现;
2、UIWindow的使用:
1> 想要置顶效果就需要设置UIWindow的windowLevel,我是用的是UIWindowLevelAlert + 1,也就是比系统的Alert弹框级别高;
2> 超出window的frame的子View是无法通过重写父View的 hitTest: 方法进行点击事件拦截的,所以我在实现弹出效果时,动态的改变了window的frame;

三、实现截图:


未展开状态
展开状态

四、源码地址:
https://git.oschina.net/SuperChaoChao/ToolBallDemo.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容