学习swift做ios程序

巫马令
2023-12-01

现在看来,学习现有开源项目绝对是进步最快的方法

教程,开源项目,一个都少不了

21个高质量的Swift开源iOS App
http://www.cocoachina.com/swift/20161014/17758.html

我下载了几个,

No.5 Flappy Swift
https://github.com/fullstackio/FlappySwift
flappy bird,swift,spriteKit写的,我现在已经能看懂,必看

No.16 Swift Radio
https://github.com/swiftcodex/Swift-Radio-Pro
界面很好看

这里面实现tableview的datasource协议等使用的是extension用法,挺好的

我仔细研究了一下它的界面,并仿制它编写了UITest1项目

它里面的一个about界面中使用了SpringButton,

我也体验了refreshController,
发现,背景图片的上方一条要和refreshController的背景颜色相同,不然会有不好看的一个小bug

No20 Youtube
https://github.com/aslanyanhaik/youtube-iOS

实现了与youtube相似的界面
其实现原理挺神奇

为了学习,我建立了UITest2项目

这个项目很值得学习
首先是它自定义navagationController
然后自定义了navagationController的navigationBar
方法是addSubview,然后再代码添加约束
它的代码添加约束有点让初学者误解,我在我的UITest2中已经改回来了

然后学习了它的settingsView的显示方式,比较有趣
关键代码是
self.tableViewBottomConstraint.constant = -self.tableView.bounds.height

还有就是settingsView.layoutIfNeeded()在淡入淡出的动画中起到了很重要的作用

然后开始学习它的主界面,可以横着切换界面的,挺好
关键是UICollectionViewDelegate继承自UIScrollViewDelegate
通过scrollViewDidScroll函数获取

它的大小出现了一些bug,我尝试了几次就找到了解决办法,只要在storyboard中把cell的大小调回来,然后在代码中正常设置大小,为屏幕大小,即可

navagationBar的translucent变量有用,如果选中了,那view就被它压住一部分

navagationBar去黑边:setBackgroundImage,shadowImage

tabBarView是由collectionView构成的,注意flowlayout中的minispacing要改为0,imageView要改为aspect fit

还有就是它擅用NSNotification,很对

它的playerView的手势用的是panGestureRecognizer

 类似资料: