学习swift做ios程序

博主分享了通过学习21个高质量的Swift开源iOS应用来快速提升开发技能的经验,重点介绍了Flappy Swift、Swift Radio和Youtube项目的实现细节,如界面设计、数据源扩展、自定义导航栏和刷新控制器的使用,以及解决布局问题和手势识别的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值