文章目录
这是一个学习IOS的笔记,记录学习IOS开发
1. 资料
2. 内容
2.1 熟悉Xcode
2.1.1 创建一个IOS项目
Organization Identifier 唯一
2.1.2 加入文本/图片 控件
制作App Icon 和 image assets
- images
拖进Assets里面
- app icon
制作图片canva.co
2.1.3 运行APP
2.2 骰子案例
引入按钮
选中控件,按住Control键,拉至代码处。引入该控件并命名。
// 引用按钮
@IBOutlet weak var diceImageViewOne: UIImageView!
@IBOutlet weak var diceImageViewTwo: UIImageView!
- 更改名称(注意:不要直接更改名称,因为名称和界面上的名称是一一对应的)
设置属性
import UIKit
class ViewController: UIViewController {
// 引用按钮
@IBOutlet weak var diceImageViewOne: UIImageView!
@IBOutlet weak var diceImageViewTwo: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// 设置属性
diceImageViewOne.image = UIImage(imageLiteralResourceName: "DiceSix");
diceImageViewOne.alpha = 0.5
diceImageViewTwo.image = UIImage(imageLiteralResourceName: "DiceTwo")
}
}
按钮触发事件
按住control引用按钮,添加点击事件
@IBAction func rollButtonPressed(_ sender: UIButton) {
diceImageViewOne.image = UIImage(imageLiteralResourceName: "DiceFour");
diceImageViewTwo.image = UIImage(imageLiteralResourceName: "DiceFour");
}
2.3 增加约束
铺满整个屏幕
Superview:超出SafeArea
垂直居中/水平居中
点亮虚线的连接线,变为实线的连接线,即增加约束。同时也可以选择距离哪一个控件。
StackView
将控件添加到StackView中
填充和均分
2.4 链接多个按钮 & 函数
链接多个按钮
按住➕链接到按钮控件上,避免每个按钮都引用一遍
函数
2.5 播放音频文件
2.6 计时器
2.7 struct
2.8 MVC
model 模型
view 视图
controller 逻辑控制
2.9 Struct & Class
Class 引用更改
Struct 通过Value更改(mutating)
class Enemy {
var health = 100
var attackStrength = 10
func move() {
print("Walk forwards")
}
func attack() {
print("Land a hit, does \(attackStrength) damage.")
}
}
struct EnemyStruct {
var health = 100
var attackStrength = 10
func move() {
print("Walk forwards")
}
func attack() {
print("Land a hit, does \(attackStrength) damage.")
}
mutating func changeAttackStrength(_ attackStrength : Int) {
self.attackStrength = attackStrength
}
}
2.10 Protocol 协议
- UITextField 加入协议UITextFieldDelegate
- textFieldShouldReturn 右下角的按钮
- textFieldDidEndEditing 正在输入中
2.10.1 Protocol
protocol类似于接口