#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

--

--