先判断这门特效课值不值得看
如果你现在的痛点是:用代码画界面没问题,但一遇到“按钮要带发光呼吸感”“点击后弹出扇形子菜单”“进度条要带粒子拖尾”这类细节,就只能去抄第三方库,改两行就崩——那么这套 Objective-C 版的 iOS 特效课就是冲着这个场景来的。它不讲怎么联网、怎么存数据,只解决一件事:用纯 OC 代码把一个控件从“能点”做成“有反馈、有动效、能交互”。它的价值在于把那些平时散在 GitHub 仓库里的花哨效果,拆成了“先建类、再布局、最后加动画”的固定三步,让你看到发光、弹出、收缩背后其实是图层叠加、锚点旋转、显隐状态机。如果你只是想拖 Storyboard 静态界面,这门课偏重;但如果你要接手老项目、维护 OC 老代码,或者想搞懂特效底层怎么跑,它比直接看 Swift 新语法更对口。
适合什么基础、建议先看哪几块
这门课不适合完全没写过代码的人。你得有基本的 OC 语法底子,知道怎么建视图控制器、用 initWithFrame 加控件、给按钮 addTarget 响应事件;Core Animation 里的 layer、position、anchorPoint 这些词,至少要眼熟。建议别从头顺序看,先拿“弹出式按钮”那一整块练手:它从效果演示、原理分析,一直写到子按钮类的创建、中心按钮初始化、动画展开和隐藏、最后接点击事件,是一条完整的控件开发流水线。把这套九小节走完,你会很清楚一个自定义复合控件应该先搭骨架还是先写动画。发光按钮和带超文本链接的按钮这两块,可以当成短平快的练手,用来验证你对图层发光属性和富文本点击响应的理解。
资料怎么配合练习、学完能独立做什么
看视频时不要只盯屏幕,一定开 Xcode 同步敲。这套资料是按“先看演示懂原理、再照着写类、最后调动画参数”的节奏走的,你每看完一小节,就停下来把当前代码跑通,改一下动画时长、弹簧阻尼、发光颜色,看界面怎么变。弹出式按钮那块尤其要自己手写,别直接拷成品类——重点是体会“中心按钮先显示、子按钮再按角度铺开、点击后反向收缩”这个状态切换逻辑。学完后,你应该能独立做这些事:给任意按钮加呼吸光晕、写一个可展开收缩的扇形菜单、让进度条带动效、把富文本里的链接做成可点区域。更重要的是,以后产品经理拿出一张动效设计图,你能拆成“哪个控件、哪层动画、哪个回调”,不再卡在“不知道怎么下手”这一步。
本课程的目的是让读者利用OC实现各种iOS特效,包括按钮、菜单、进度条等。
课程目录
* 01 按钮特效/
* 01 发光的按钮.mp4 11:43
* 02 弹出式按钮(1):效果演示与原理介绍.mp4 08:07
* 03 弹出式按钮(2):子按钮类的编写.mp4 10:11
* 04 弹出式按钮(3):初始化中心按钮.mp4 25:36
* 05 弹出式按钮(4):显示中心按钮.mp4 23:59
* 06 弹出式按钮(5):创建子按钮对象.mp4 16:01
* 07 弹出式按钮(6):以动画的方式显示子按钮.mp4 05:08
* 08 弹出式按钮(7):以动画的方式隐藏子按钮.mp4 21:09
* 09 弹出式按钮(8):展开和收缩子按钮.mp4 15:44
* 10 弹出式按钮(9):响应子按钮点击事件.mp4 11:19
* 11 带超文本链接的按钮.mp4 20:09
* 12 圆角抛光按钮(1):初始化按钮.mp4 14:19
* 13 圆角抛光按钮(2):添加抛光效果.mp4 10:34
* 14 圆角抛光按钮(3):响应按下、抬起事件、与UIButton控件结合.mp4 12:26
* 15 音乐播放器旋转按钮(1):显示头像.mp4 16:03
* 16 音乐播放器旋转按钮(2):绘制旋转按钮外环.mp4 12:25
* 17 音乐播放器旋转按钮(3):为按钮添加旋转动画.mp4 06:07
* 18 音乐播放器旋转按钮(4):点击开始/停止旋转.mp4 40:54
* 19 环形按钮(1):初始化.mp4 15:34
* 20 环形按钮(2):设置图像按钮的位置.mp4 09:06
* 21 环形按钮(3):触摸按钮要响应的动作.mp4 13:43
* 22 环形按钮(4):移动按钮和结束触摸.mp4 16:48
* 23 环形按钮(5):使用环形按钮控件.mp4 16:53
* 02 滑块特效/
* 01 双色滑块特效(1):初始化控件.mp4 13:04
* 02 双色滑块特效(2):拦截属性动作.mp4 09:53
* 03 双色滑块特效(3):使用控件.mp4 06:20
* 04 环形滑块(1):建立控件类,并实现头文件.mp4 12:22
* 05 环形滑块(2):初始化控件属性.mp4 02:47
* 06 环形滑块(3):绘制环形轨迹【1】.mp4 15:54
* 07 环形滑块(4):绘制环形轨迹【2】.mp4 12:22
* 08 环形滑块(5):通过手势识别滚动滑块.mp4 21:57
* 09 环形滑块(6):为属性添加setter方法.mp4 12:12
* 10 环形滑块(7):使用控件.mp4 09:20
* 11 可两端滑动的滑块控件(1):定义头文件中的属性.mp4 13:53
* 12 可两端滑动的滑块控件(2):编写初始化一次的setup方法.mp4 17:20
* 13 可两端滑动的滑块控件(3):初始化滑块和填充背景的位置、尺寸.mp4 18:39
* 14 可两端滑动的滑块控件(4):实现左滑块和右滑块的滑动动作.mp4 13:50
* 15 可两端滑动的滑块控件(5):为属性添加setter方法.mp4 09:53
* 16 可两端滑动的滑块控件(6):为属性添加setter方法.mp4 08:52
* 17 可两端滑动的滑块控件(7):使用控件.mp4 08:36
* 18 带文本提示的滑块控件(1):初始化ShowTextView类.mp4 09:02
* 19 带文本提示的滑块控件(2):绘制文本提示面板.mp4 23:36
* 20 带文本提示的滑块控件(3):设置UILabel控件的位置和尺寸.mp4 02:09
* 21 带文本提示的滑块控件(4):创建和初始化Slider类.mp4 11:53
* 22 带文本提示的滑块控件(5):显示标签.mp4 02:59
* 23 带文本提示的滑块控件(6):隐藏标签.mp4 01:39
* 24 带文本提示的滑块控件(7):最后完善Slider控件类.mp4 03:32
* 25 带文本提示的滑块控件(8):使用Slider控件.mp4 05:54
* 26 自定义滑块控件(1):初始化DrawView.mp4 07:40
* 27 自定义滑块控件(2):绘制上下三角形.mp4 10:55
* 28 自定义滑块(3):编写头文件Slider.h.mp4 12:49
* 29 自定义滑块(4):初始化Slider类.mp4 03:15
* 30 自定义滑块(5):实现drawRatingConrolWithX方法.mp4 03:21
* 31 自定义滑块(6):创建滑块轨迹视图.mp4 04:26
* 32 自定义滑块(7):创建滑块视图.mp4 14:33
* 33 自定义滑块(8):绘制滑块控件上的数字刻度.mp4 09:48
* 34 自定义滑块(9):移动滑块动作.mp4 07:47
* 35 自定义滑块(10):滑动到最近的刻度.mp4 10:34
* 36 自定义滑块(11):使用控件.mp4 06:08






