利用 UIView 的 mask 設計特別形狀的圖片
這篇文章主要是練習使用UIView之間可以使用Mask來做”遮罩“,所以同樣看著範例就可以學習到如何使用,當然首先要先找到素材或者已去背的圖片。
教學範例
找尋要顯示的圖片
先找好要拿來顯示的圖片(非遮罩),然後擺好在畫面(storyboard),如下畫面。
找尋遮罩的圖樣
一般來說就是找去背後的圖樣,若是找不到的,可以先以下面網站下載為主。
匯入Assets.xcassets
建置storyboard
(一)將花色的圖片使用UIButton來顯示,並各自設定其1~12的Image
(二)於上方放置一個空的ImageView,之後透過第一點的Button來設定圖片
將按鈕連結至ViewController.swift(IBAction)
先將一個按鈕新增連結Connection至ViewController.swift,然後指定type為UIButton,並指定func名稱為setMask以方便在程式當中取得按鈕物件。
@IBAction func setMask(_ sender: UIButton) {
}
將ImageView連結至ViewController.swift(Outlet)
@IBOutlet weak var maskImage: UIImageView!
針對按鈕事件將圖片顯示於畫面上ImageView
maskImage.image = sender.currentImage
加入Mask
//讀取遮罩圖片
let dogImage = UIImage(named: “dog_mask”)
//將圖片加入至一個ImageView
let dogImageView = UIImageView(image: dogImage)
//將dogImageView跟ImageView大小設定成一樣
dogImageView.frame = CGRect(x: 0, y: 0, width: 414, height: 495)
//將畫面上的ImageView加入遮罩,指定為dogImageView
maskImage.mask = dogImageView
成果分享
GitHub