-
按鈕button
- 自定義button
- 設(shè)置圓角半徑cornerRadius
- 取消高亮狀態(tài)重寫setHighlighted:方法
-
按鈕移動的時候按鈕可以跟著走
- 添加手勢
- 獲取偏移量
- 清零
-
大圓下面有一個小圓
- 根據(jù)大圓的拖動,小圓半徑在減小
- 小圓加到view上面
-
插入一個view
- self.superView = insertSubview:belowSubview:self
根據(jù)兩個圓的距離风罩,改變小圓的半徑
-
求兩個圓之間的距離
寫一個方法返回兩個圓之間的距離
sqrt(offsetXoffsetX + offsetYoffsetY)
注意:transform修改的是frame,它并沒有修改center
-
直接修改frame,center會發(fā)生變化糠排,UIView的center其實(shí)是它內(nèi)部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 控制點(diǎn)
-
描述中間的路徑
- 寫一個方法,根據(jù)兩個圓室琢,描述一個不規(guī)則的路徑乾闰,返回一個路徑
- x1 y1
- x2 y2
- d (d<=0 返回nil)
- r1 r2
- AB CD 直線
- 控制點(diǎn)O P
- BC DA 曲線
-
形狀圖層
- 可以根據(jù)路徑,生成一個形狀
- 懶加載創(chuàng)建CAShapeLayer
- CAShapeLayer也是CALayer的子層盈滴,不需要設(shè)置位置和尺寸
- shapeLayer.path = path.CGPath
- insertSublayer:atIndex:
- fillColor
-
業(yè)務(wù)邏輯處理
- 移動大于某個值的時候涯肩,shapeLayer消失,小圓消失
- shapeLayer removeFromSuperlayer
- 小圓隱藏的時候巢钓,不需要描述路徑
- shapeLayer不能設(shè)置隱藏宽菜,會有隱式動畫
- 移動手指松開時距離小于某個值,復(fù)位操作竿报,否則播放一個??
- 復(fù)位:大圓回到小圓的位置
- self.center = self.smallC.center
- 顯示小圓 hidden = NO;
- remove shapeLayer
- ??:序列幀動畫
- 創(chuàng)建UIImageView
- frame 大小等于大圓大小
- 把imageView加到大圓上面
- animationImages
- startAnimating
- 回到原來的位置才??怎么辦铅乡?self.view.translatesAutoresizingMaskIntoConstrants = NO;
- 復(fù)位:大圓回到小圓的位置
- 移動大于某個值的時候涯肩,shapeLayer消失,小圓消失