在开发前我们需要知道,在 iOS 中,我们可以采取 Storyboard、XIBs 或是纯 Code 的方式来开发 APP,有些人选择从纯 Code 方式起手,且随着SwiftUI 的兴起,使用SwiftUI 手写代码也将会越来越常见
参考文件:iOS开发,做UI时,用StoryBoard还是纯代码编写?、说说 Storyboard vs XIBs vs Code
这边先介绍最基础的元件 UIView,至於其他的UIKit 元件都是以一样的方式做处理,只是有属性功能上的延伸而已
所有 UIKit 的元件(像是按钮UIButton
、文字UITextView
等等)都是继承自 UIView,它有着每个元件都需要的、最基础的属性、布局及方法。
而要将元件放进画面(即视图View
)中,需要了解有三个条件:原点、尺寸以及要叠加上去的父视图。
iPhone 的原点是以左上角为
(0,0)
开始向右(x 轴) 跟向下(y 轴)
用法相同於以後要用到的其他的UIKit 元件,比如UILabel(显示文字)、UIImageView(显示图片)、UIButton(按钮)等都是类似的,只是各元件有更多个别的属性而已
范例:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let purpleView = UIView()
// 将 UIView 的背景设置为紫色
purpleView.backgroundColor = UIColor.purple
// 设置视图的大小和位置
purpleView.frame = CGRect(x: 0, y: 100, width: 150, height: 150)
// 使用addSubview()方法来将purpleView 加入至此页(ViewController)
view.addSubview(purpleView)
}
}
介绍一个工具:UIScreen
,这主要用来取得萤幕的资讯,通常是用来取得整个萤幕的尺寸,如下:
// 取得萤幕的尺寸
let fullScreenSize = UIScreen.main.bounds.size
UIScreen.main
表示的是设备的内部萤幕,其内有一个属性为bounds
,bounds
又包含了两个主要属性:origin
及size
,分别是主画面的原点及尺寸
x
及y
,也就是原点。通常会使用CGPoint(x:,y:)
来设置一个点width
及height
,也就是尺寸,通常会使用CGSize(width:,height:)
来设置一个尺寸在获得了萤幕的尺寸以後,我们来将前面定义的 UIView 设置一个新的位置:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let purpleView = UIView()
purpleView.backgroundColor = UIColor.purple
purpleView.frame = CGRect(x: 0, y: 100, width: 150, height: 150)
view.addSubview(purpleView)
// 取得萤幕的尺寸
let fullScreenSize = UIScreen.main.bounds.size
// 设置 UIView 的中心位置点到由取得的萤幕长与宽的一半数值设置的点,这样UIView 便会被放置在画面的正中央
purpleView.center = CGPoint(
x: fullScreenSize.width * 0.5,
y: fullScreenSize.height * 0.5)
}
}
接续昨天提到的,我们今天将会实际跑一次指令,如果看到这里的你还在犹豫的话,别犹豫了,跟我一起开始吧!...
Just do it! 先做就对了| 作用域-换个位置换颗脑袋 | 中断回圈break | con...
在工作中或多或少都会遇到空白行存在的情况。如果只有几个空白行,那麽手动轻松删除即可,但是遇到100行...
今天做了dialogfragment,程序码如下 <?xml version="1....
前言: 前面模型也都训练好了,接下来就是辨识的部分 程序码: 方案一遇到一点问题,就暂时不放上来了 ...