利用 UIBezierPath 設計特別形狀的圖片

Peter 已經說明大部分的流程, 如下 , 另外順便下點小註釋讓自己更清楚

這個Project 有使用到的部分

為什麼是選擇Cocoa Class?

Cocoa Touch是蘋果設的軟體框架集合,現在只要先記得,他有“Foundation”(常用API)和“UIKit” (基礎的UI元庫), 因為我們要操作介面,當然就選Cocoa Touch了喔

做作業的時, 有看到 Class (類別), Override(覆寫)它在幹嘛?

白話文

Class: 可以把Class 當作是一個藍圖 , 可以讓你在寫程式有個參考的文件

Override : 本來Class的優點我都要, 但我自己能加上更好的優點 (差異)

所以我們做的就是 : 先做好一個範本, 拿好優點 ( super.layoutSubviews() 最上層的布局 ) 再修改你想要顯示的內容 , 到時候直接取用你客製(Custom)的藍圖

CGPoint 更簡約的寫法

通常我們要進行點的轉移時 , 通常我們會這樣寫

// Ex:// let point = UIBezierPath()point.move(to:CGPoint(x:0,y:0))

但是如果這個點是一個約定好的點位

比如像最起始點 (0,0) , CGPoint 可以寫成

point.move(to :CGPoint.zero )

圖片寬度/高度的點位都會是依照邊界 (bound) 約定好的點位 所以可以寫成

point.addLine(to: CGPoint(x: bounds.width, y: bounds.height))

最後實作:

iPhone 8 的介面Demo

--

--