Swift UIKit -DAY 14

--

View是在裝置螢幕上呈現出來的東西,像是文字、圖片、元件(按鈕、選單、列表之類)等等。

ViewController是負責資料的處理與編排設置視圖要如何呈現。

一個 UIViewController 負責一個畫面(即呈現視圖View)的功能,未來如果有多個畫面時,就需要各自建立一個不同的 UIViewController

UIView

所有 UIKit 的元件(像是按鈕UIButton、文字UITextView等等)都是繼承自 UIView ,所以 UIView 其實很單純,只是有著每個元件都需要的、最基礎的屬性及方法。

要將元件放進畫面(即視圖View)中,需要了解有三個條件:原點、尺寸以及要疊加上去的父視圖。

原點

原點是以左上角為(0,0)開始向右( x 軸)跟向下( y 軸)。

尺寸

每個元件都可以設定自己的長寬,而當有了原點及長寬之後,就可以構成一個矩形,也就是組合成了這個元件的形狀跟呈現的位置。

父視圖

建構一個畫面就是將元件疊在父視圖上才顯現得出來,而最基底的視圖則是 UIViewController 的一個屬性,在其內的方法都可以用self.view來表示這個基底視圖。

用程式也可以寫

  1. 先宣告一個方塊常數在UIView制定他的位置跟長寬
  2. 背景顏色使用UIView 的一個屬性backgroundColor 裡面有很多內建的顏色,也可以使用init(red:,green:,blue:,alpha:)來產生一個 RGB 顏色。
  3. 接著可以看到在基底視圖self.view使用addSubview()方法來加入前面定義的這個 UIView,這樣就完成了將這個元件加進畫面的動作。

以相對尺寸來設置元件

UIScreen,這主要是用來代表螢幕的資訊,通常是用來取得整個螢幕的尺寸。

以前

let fullScreenSize = UIScreen.mainScreen().bounds.size
let width = fullScreenSize.width
let height = fullScreenSize.height

Swift 3以上使用:

let fullScreenSize = UIScreen.main.bounds
let width = fullScreenSize.width
let height = fullScreenSize.height

bounds又分為下面兩個:

  • origin:有兩個屬性xy,也就是原點。通常會使用CGPoint(x:,y:)來設置一個點。
  • size:有兩個屬性widthheight,也就是尺寸,通常會使用CGSize(width:,height:)來設置一個尺寸。

line19 使用UIView 另一個屬性center,這代表著這個元件的中心點位置,CGPoint(x:,y:)來設置一個新的點,複寫原本line16的x跟y。

查找文件

如果對於一個元件、屬性或方法不熟悉,可以按著option鍵(游標會變成一個問號)再用滑鼠點選你有疑問的方法或屬性(像是按住option鍵再點UIViewbounds等等),也獲著右側側邊欄,點選右邊的頁籤[ ? ]
,當你游標指到一個元件、屬性或方法時,這邊便會顯示詳細說明。

--

--

工程師卡卡
工程師卡卡

Written by 工程師卡卡

Frontend developer Swift baby level

No responses yet