学习前辈自学swift的小项目 贴上他的github https://github.com/allenwong/30DaysofSwift 还有他的简书讲解, 如果学习过程中遇到问题就去看看他的操作 http://www.jianshu.com/p/52032bc4cbe4 #在下面的项目罗列中我会写上自己遇到的一些的问题, 和其中的难点; 有的地方也会有注释
#swift02 customFont 自定义字体的切换, 运用到了tableview 和 字体的设定, 需要进行一些操作, 建议去原博看一看
#swift03 localVideo 播放本地视频; 加载自定义的tableViewcell: 写了协议, 数据传输 全部使用了代码完成, 没有用sb.有很多不懂的细节
#swift04 snapchatMenu 模仿了snapchat的界面 左右滑动, 中间是实时采集的视频数据, 可以点击拍照; 中间有一个小坑: 我没有照抄原来作者的代码, 使用了自定义的view 显示层的frame设置需要先后看一下
#swift05 roll view 直接使用了collectionView 中间卡了很久不显示图像, 感叹号和问号的意义需要明确一下,
##问号 ? 有两个意义: 1.声明Optional值变量 2.用在对Optional值操作中,用来判断是否能响应后面的操作
##感叹号!有两个意义 1.强制对Optional值进行拆包(unwrap) 2.声明Implicitly Unwrapped Optionals值,一般用于类中的属性
#swift06 find my location 位置反编码 遇到一个语法盲点 placeMark: CLPlacemark? if let containsPlacemark = placeMark {} 这样是可以直接判断其中是否有值的
#swift07 下拉刷新 没有什么盲点 使用的系统的控件
#swift08 播放本地音频 自动切换颜色 do try catch 语法
#swift09 缩放拉伸图片 遇到一个bug点, 放大后图片会位移, 需要在开始的时候设置一下contentInset
#swift10 异步播放小视频 异步播放的代码需要熟悉, 自定了一些控件 ,需要注意一些问题
#swift11 透明cell
#swift13 飞入的cell spring动画
#swift15 仿twitter 进入动画 难点应该在核心的动画部分, 要由三段bounds的变化组成的动画;
#swift 16 自定义转场动画 难点有点多, 有个snapshotViewAfterScreenUpdates(false) 置false后明显流畅了 还有待考察原因 需要反复制作这个转场动画才能灵活运用
#swift 18 限制文字输入
#swift 20 collectionView可点击放大动画效果 ##imagePath ?? “"//若optionalValue非nil时,newValue的值为optionalValue的值,若optionalValue为nil时,newValue的值为value的值 guard 语句 我听说过这个叫保镖模式(Bouncer Pattern),这个模式十分的合理。你要在坏情况进门之前把它们挡出去。这让你每次只考虑一种情况,而不用去搞清楚如何同时将所有的条件判断安排在一起。
#swift 21 cell可以左滑显示选择按钮