自学 Swift - 三十天三十个 Swift 小项目(更新中...)

个人拖延症太严重,一直没好好学习Swift。受@Allen_朝辉启发,决定每天写个小项目来学习Swift。

项目代码同步更新到github:项目地址

Project 01 - SimpleStopWatch

clipboard.png

1)简单的计时器
2)使用 Timer.scheduledTimer
3)开始,暂停,重置功能

Project 02 - CustomFont

clipboard.png

1)自定义字体
2)项目中导入字体文件(注意:直接拖到项目中,Build Phases - Copy Bundle Resources 肯没有自动包含,需要手动添加)
3)在info.plist中添加Fonts provided by application属性,添加字体
clipboard.png
4)使用以下代码打印出字体名字

                for family in UIFont.familyNames {
                    print("font-family:",family)
                    for font in UIFont.fontNames(forFamilyName: family) {
                        print("font-name:",font)
                    }
                }

Project 03 - PlayLocalVideo

clipboard.png

1)播放本地视频
2)使用UITableView做个个视频列表
3)import AVKit 使用AVPlayerViewController播放视频

Project 04 - SnapChatMenu

clipboard.png

1)模仿SnapChat样式
2)左右两个视图是UIImageView
3)相机使用AVFoundation框架

Project 05 - CarouselEffect

clipboard.png

1)UICollectionView实现的卡片选择
2)使用UIBlurEffect UIVisualEffectView 添加了模糊效果

Project 06 - FindMyLocation

clipboard.png

1)定位
2)在info.plist中添加 NSLocationWhenInUseUsageDescription
3)使用CoreLocation框架获取当前位置

Project 07 - PullToRefresh

clipboard.png

1)使用UIRefreshControl实现的下拉刷新

Project 08 - RandomGradientColor

clipboard.png

1)使用CAGradientLayer实现的随机渐变背景色

CAGradientLayer的坐标起点是左上角(0,0)终点是右下角(1,1)
CAGradientLayer属性:

  colors
var colors: [AnyObject]?
一个包含CGColor的数组,规定所有的梯度所显示的颜色,默认为nil

locations
var locations: [NSNumber]?
一个内部是NSNumber的可选数组,规定所有的颜色梯度的区间范围,选值只能在0到1之间,并且数组的数据必须单增,默认值为nil


endPoint
var endPoint: CGPoint
终点坐标

startPoint
var startPoint: CGPoint
与endPoint相互对应,起点坐标

type
var type:String
绘制类型,默认值是axial,也就是线性绘制,各个颜色阶层直接的变化是线性的

Project 09 -ImageScroller

clipboard.png

1)使用UIScrollView实现的图片缩放功能

Project 10 - VideoBackground

clipboard.png

1)模仿spotyfi的登录背景视频播放
2)使用AVPlayer和AVPlayerLayer

Project 11 - GradientTableView

clipboard.png

1)渐变色TableView
2)根据行数计算颜色

let color = CGFloat(indexPath.row) / CGFloat(self.datas.count) * 0.8
cell.backgroundColor = UIColor.init(red: 0, green: color, blue: 1.0, alpha: 1.0)

Project 12 - LoginAnimation

clipboard.png

1)登录界面的小动画
2)进入页面的动画使用UIView.animate
3)点击登录按钮使用的CAKeyframeAnimation

【课程特点】1、231节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面;2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例;3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会;4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过; 更好的应用,更少的代码!SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。SwiftUI是一种创新、简单的iOS开发的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值