swiftUI 官方教程(四)
4. 自定义 Image View
搞定名称和位置 view 后,我们来给地标添加图片。
这不需要添加很多代码,只需要创建一个自定义 view,然后给图片加上遮罩、边框和阴影即可。

asset catalog
Resources
turtlerock.png
asset catalog
image set

SwiftUI
File
New
File
User Interface
SwiftUI View
Next
CircleImage.swift
Create

现在准备工作已完成。
swiftUI 官方教程
Image(_:)
Turtle Rock
CircleImage.swift
import SwiftUI struct CircleImage: View { var body: some View { Image("turtlerock") } } struct CircleImage_Preview: PreviewProvider { static var previews: some View { CircleImage() } }

.clipShape(Circle())
Circle
stroke
fill
CircleImage.swift
import SwiftUI struct CircleImage: View { var body: some View { Image("turtlerock") .clipShape(Circle()) } } struct CircleImage_Preview: PreviewProvider { static var previews: some View { CircleImage() } }

gray stroke
circle
overlay
CircleImage.swift
import SwiftUI struct CircleImage: View { var body: some View { Image("turtlerock") .clipShape(Circle()) .overlay( Circle().stroke(Color.gray, lineWidth: 4)) } } struct CircleImage_Preview: PreviewProvider { static var previews: some View { CircleImage() } }

4.6 接来下,添加一个半径为 10 point 的阴影。
CircleImage.swift
import SwiftUI struct CircleImage: View { var body: some View { Image("turtlerock") .clipShape(Circle()) .overlay( Circle().stroke(Color.gray, lineWidth: 4)) .shadow(radius: 10) } } struct CircleImage_Preview: PreviewProvider { static var previews: some View { CircleImage() } }

swiftUI 教程
white
CircleImage.swift
import SwiftUI struct CircleImage: View { var body: some View { Image("turtlerock") .clipShape(Circle()) .overlay( Circle().stroke(Color.white, lineWidth: 4)) .shadow(radius: 10) } } struct CircleImage_Preview: PreviewProvider { static var previews: some View { CircleImage() } }
