手势解锁

手势解锁

界面搭建

  • 自定义控制器的view
  • 只要在view上面画东西,就要用到drawRect方法
  • 加载图片
  • 九宫格
    • 九宫格算法
    • awakeFromNib
    • initWithFrame
    • 添加内部控件的方法
    • layoutSubviews布局子控件

选中按钮的状态

  • btn.userInteractionEnabled = NO;
  • tochesBegan:
    • 如果点在按钮身上,让按钮成为选中状态
      • 获取当前手指的点touches anyObject
      • locationInView
      • CGRectContainsPoint判断一个点在不在一个rect当中
        • 让按钮成为选中状态
      • break,退出整个循环
  • touchesMove:
    • 点在按钮身上,让按钮成为选中状态
  • 抽方法
    • 按照功能模块进行划分,一个方法对应一个业务逻辑

连线

  • 从选中按钮开始,把所选中按钮的center连接起来
  • 有顺序的把按钮保存起来
  • drawRect
    • 创建一个路径
    • 取出每一个选中的按钮
    • 如果是第一个按钮,设置为路径的起点;
    • 不是第一个添加一个线到圆心

添加一个线到当前手指的点

  • 定义属性,当前手指所在的点

  • 连接样式:圆角

  • 当手指松开的时候,所有选中按钮要取消选中状态

  • 清空所有的连线

  • tag

    • 不要用tag去查找,它会去遍历,耗性能
    • 可以用来区分顺序,做标记
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我们已经学习完了Quartz2D的一些基本的用法,在实际开发过程中,经常使用Quartz2D,可以帮助我们少使用苹...
    mkb2阅读 5,022评论 0 13
  • 1.最终效果图 2.思路: 2.1.首先把界面搭建起来:以绘制九宫格的方式,在view上绘制出九个button 2...
    牛奈奈阅读 3,222评论 0 1
  • 分析界面,当手指在上面移动时,当移动到一个按钮范围内当中, 它会把按钮给成为选中的状态.并且把第一个选中的按钮当做...
    陆号阅读 2,649评论 0 0
  • ------------- 基本思路 -------------- 搭建界面,九宫格算法 处理按钮选中状态 按钮之...
    _浅墨_阅读 3,529评论 0 0
  • 先上个图 很久没有写文章了,今天讲下手势解锁,虽然现在用的不是很多,但是有的需求还是需要.手势解锁这样的例子网上很...
    朱凯奇阅读 14,185评论 6 31

友情链接更多精彩内容