[聚合文章] 手把手教你写“旋转的圆盘”

程序员 1900-01-01 24 阅读

基本思路
1.搭建基本的wheel
2.让第二层(大黄色的圆盘)的旋转起来
3.往第二层(大黄色)中添加12个按钮,
3.1(谈谈awakeFromNib,和init?(coder aDecoder: NSCoder)的顺序和区别)
3.2 锚点的设置,和point的实际用法
3.3 选择按钮经典3部曲
4.将大图剪切成小图,讲讲CGImageCreateWithImageInRect这个方法的使用,还有像素比,以及image.size到底是啥,还有为毛线[UIScreen mainScreen].scale
5.重写btn方法,更改内部image的尺寸
6.给btn一个选中的image的照片(还是按照4那样切图)
7.重写setHightLighit方法 (但是没写明白)
8.UIControlEvents.TouchDownUIControlEvents.TouchUpInside的区别
9.为装盘添加2个方法,开始和结束
10.CADisplayLinkNSTimer的区别和使用情景
10.避免多个定时器同时工作,会出什么问题?
11.细节,(大黄圆盘)交互yes,no

1.搭建基本的wheel

直接封装一个view,叫做RoundWheel,xib脱线布局,比较方便快捷

view上变放了两个imageView,和view一样的尺寸
2.让第二层(大黄色的圆盘)的旋转起来

对外提供一个开始方法,直接选择

   func startRotating()   {      let anim = CABasicAnimation()       anim.keyPath = "transform.rotation"       anim.toValue = M_PI*2       anim.duration = 3       anim.removedOnCompletion = false       anim.repeatCount = MAXFLOAT       anim.fillMode = kCAFillModeForwards//我现在让最低部的view旋转了,所以“开始按钮”才跟着旋转    layer.addAnimation(anim, forKey: "rotationWheel")
本图片有点问题,本图片是让最底下的view旋转了,所以“开始按钮”也跟这转,如果你是是黄色的view.layer执行动画的,就不会这样了开始按钮也在上边,然后就跟着转了
3.往第二层(大黄色)中添加12个按钮

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。