预览效果
实现思路
在需要实现镜面翻转效果的视图背景设置 background
中,重新创建个一模一样的视图,对这个视图进行翻转 rotation3DEffect
、由上到下的颜色渐变 LinearGradient
、再把这个视图通过 offset
向下偏移就能做出一个基础的镜面翻转倒影效果。
实现代码
struct ContentView: View {
var body: some View {
VStack {
bodyView()
// 背景设置中制作翻转效果
.background(
bodyView()
// 设置轻微模糊效果
.blur(radius: 0.5)
// 进行 3D 翻转
.rotation3DEffect(.init(degrees: 180), axis: (x: 1, y: 0, z: 0))
.mask({
// 再给一个渐变的遮罩
LinearGradient(colors: [
.white.opacity(0.75),
.white.opacity(0.3),
.white.opacity(0.1),
.clear
], startPoint: .top, endPoint: .bottom)
})
// 纵向偏移到合适的位置
.offset(y: 86)
)
}
.padding()
}
@ViewBuilder
func bodyView()-> some View {
HStack {
Image("codeun")
.resizable()
.frame(width: 108, height: 86)
Text("www.codeun.com")
.font(.system(size: 28))
.fontWeight(.semibold)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
· 如若转载,请注明出处:https://www.codeun.com/archives/1117.html ·