美文网首页
QQ粘性布局

QQ粘性布局

作者: 彼岸的黑色曼陀罗 | 来源:发表于2016-09-18 19:51 被阅读0次
  • 按钮button

    • 自定义button
    • 设置圆角半径cornerRadius
    • 取消高亮状态重写setHighlighted:方法
  • 按钮移动的时候按钮可以跟着走

    • 添加手势
    • 获取偏移量
    • 清零
  • 大圆下面有一个小圆

    • 根据大圆的拖动,小圆半径在减小
    • 小圆加到view上面
  • 插入一个view

    • self.superView = insertSubview:belowSubview:self
  • 根据两个圆的距离,改变小圆的半径

  • 求两个圆之间的距离

    • 写一个方法返回两个圆之间的距离

    • sqrt(offsetXoffsetX + offsetYoffsetY)

    • 注意:transform修改的是frame,它并没有修改center

    • 直接修改frame,center会发生变化,UIView的center其实是它内部layer的position

      • CGPoint center = self.center;
      • center.x += transP.x
      • center.y += transP.y
      • self.center = center
  • 缩放小圆

    • 获取小圆半径(最原始的半径)
    • 修改小圆的宽高(大圆的半径等于小圆最初的半径)
    • 修改小圆的圆角半径
  • 粘性计算图

    • 描述路径,填充路径
    • 已知
      • 小圆,大圆的center
      • x轴,y轴方向的偏移量
      • 两个圆之间的距离
    • 计算角度
      • cos sin
    • A B C D
    • O P 控制点
  • 描述中间的路径

    • 写一个方法,根据两个圆,描述一个不规则的路径,返回一个路径
    • x1 y1
    • x2 y2
    • d (d<=0 返回nil)
    • r1 r2
    • AB CD 直线
    • 控制点O P
    • BC DA 曲线
  • 形状图层

    • 可以根据路径,生成一个形状
    • 懒加载创建CAShapeLayer
    • CAShapeLayer也是CALayer的子层,不需要设置位置和尺寸
    • shapeLayer.path = path.CGPath
    • insertSublayer:atIndex:
    • fillColor
  • 业务逻辑处理

    • 移动大于某个值的时候,shapeLayer消失,小圆消失
      • shapeLayer removeFromSuperlayer
      • 小圆隐藏的时候,不需要描述路径
      • shapeLayer不能设置隐藏,会有隐式动画
    • 移动手指松开时距离小于某个值,复位操作,否则播放一个💥
      • 复位:大圆回到小圆的位置
        • self.center = self.smallC.center
        • 显示小圆 hidden = NO;
        • remove shapeLayer
      • 💥:序列帧动画
        • 创建UIImageView
        • frame 大小等于大圆大小
        • 把imageView加到大圆上面
        • animationImages
        • startAnimating
        • 回到原来的位置才💥怎么办?self.view.translatesAutoresizingMaskIntoConstrants = NO;

相关文章

  • QQ粘性布局

    在一个storyBoard里面拖一个UIButton进去,然后新建一个自定义UIBUtton类

  • QQ粘性布局

    按钮button自定义button设置圆角半径cornerRadius取消高亮状态重写setHighlighted...

  • QQ粘性布局

    整体思路: 手指移动,按钮跟着移动.按钮跟着手指移动.移动时底部有一个圆, 根据上面的大圆按钮拖动的距离,小圆的半...

  • QQ粘性布局

    #import @interfaceBageValueButton :UIButton @end #import ...

  • QQ粘性效果

    效果:拖动信息提示数目按钮,感觉像是在拉伸按钮,当拖动到一定范围,按钮(小圆被抽出),松开手小圆会爆炸。如果抽出小...

  • QQ粘性效果

  • QQ粘性效果

    QQ粘性效果 实现思路: 1.自定义大圆控件(UIButton)可以显示背景图片,和文字 2.让大圆控件随着手指移...

  • QQ粘性效果

    动画分析 当前控件既可以显示图片,有可以显示文字,那么我们就可以通过按钮来最为当前的控件. 当拖动控件,当前控件尺...

  • sticky 粘性布局

    sticky是什么 sticky是粘性布局,他是结合positiong:relative和potion:fixed...

  • sticky粘性布局

    相对它的最近滚动祖先和最近块级祖先基于top, right, bottom, 和 left的值进行偏移

网友评论

      本文标题:QQ粘性布局

      本文链接:https://www.haomeiwen.com/subject/msjgettx.html