#4 使用圖片,文字,emoji,邊框 & 圓角製作漂亮卡片
iOS SDK 有許多的Library 可供開發者使用,免除使用者再次辛苦的寫一次底層,“ 利用造好的輪子,不用自己造輪子”,省下的時間可以 OOXXOOXX 。
寫韌體&OPENCV有用過C的,應該很有感( 寫底層)。
這次使用的照片素材是出遊隨手拍的,地點在宜蘭的某地(忘記了),製作靈感是 看到某人LINE 上的 早安圖,不知道作品有沒有到這個意境。
原圖如下
製作這個卡片重要的觀念是 → SuperView (照片)加上 SubView,也就是容器內裝各種UI元件,在這張卡片上,放上圓角外框,Label,emoji圖,設定顏色 透明度。
實作的卡片,如下圖
程式參考:
//# 4 使用圖片,文字,emoji,邊框 & 圓角製作漂亮卡片
import UIKit
let greetingCardImage = UIImage(named:”greetingcard.jpg”)
let cardImageView = UIImageView(image: greetingCardImage)
cardImageView.frame = CGRect(x: 0, y: 0, width: 800, height: 734)
cardImageView.contentMode = .scaleAspectFill
cardImageView.alpha = 0.9
let text = “””
🌻朝氣蓬勃的春🌻
“””
let messageLabel = UILabel(frame: CGRect(x: 200, y: 100, width: 600, height: 300))
messageLabel.text = text
messageLabel.textColor = UIColor(red: 1, green: 0, blue: 1, alpha: 1)
messageLabel.font = UIFont.systemFont(ofSize: 38)
cardImageView.addSubview(messageLabel)
cardImageView.layer.borderWidth = 10
cardImageView.layer.borderColor = CGColor(red: 1, green: 0, blue: 1, alpha: 1)
cardImageView.layer.cornerRadius = 50
cardImageView.clipsToBounds = true
cardImageView
//let emojLabel = UILabel(frame: CGRect(x: 60, y: 60, width: 30, height: 30))
//emojLabel.text = “🌸”
//emojLabel.font = UIFont.systemFont(ofSize: 25)
//cardImageView.addSubview(emojLabel)
var length = 60
var length1 = 60
var length2 = 50
var length3 = 50
var length4 = 50
while length<=660 {
let emojLabel = UILabel(frame: CGRect(x: 30, y: length, width: 30, height: 30))
emojLabel.text = “🌸”
emojLabel.font = UIFont.systemFont(ofSize: 25)
cardImageView.addSubview(emojLabel)
length += 60
}
while length1 <= 660 {
let emojLabel = UILabel(frame: CGRect(x: 740, y: length1, width: 30, height: 30))
emojLabel.text = “🌸”
emojLabel.font = UIFont.systemFont(ofSize: 25)
cardImageView.addSubview(emojLabel)
length1 += 60
}
while length2 <= 740 {
let emojLabel = UILabel(frame: CGRect(x: length2, y: 30, width: 30, height: 30))
emojLabel.text = “🌸”
emojLabel.font = UIFont.systemFont(ofSize: 25)
cardImageView.addSubview(emojLabel)
length2 += 60
}
while length3 <= 740 {
let emojLabel = UILabel(frame: CGRect(x:length3, y: 680, width: 30, height: 30))
emojLabel.text = “🌸”
emojLabel.font = UIFont.systemFont(ofSize: 25)
cardImageView.addSubview(emojLabel)
length3 += 60
}
cardImageView