// videoPlayer及matchedGeometryEffect过渡动画
import AVKit
import SwiftUI
struct ContentView: View {
@Namespace private var animation // 定义一个@Namespace 命名空间 当有两个视图位于相同的@NameEspace,并且拥有相同的ID。SwiftUI就能根据两个视图的尺寸、位置等属性的差异,产生过渡动画。
@State private var isZoom = true // 是否显示扩展视图
var body: some View {
// VideoPlayer(player:AVPlayer(url: Bundle.main.url(forResource: "move", withExtension: ".mp4")!))
// {
// Text("视频水印")//添加文字视频水印
// }//嵌入AVPlayer的视图,其中包括用于播放视频的所有控件
// .padding()
// .background(.black)
// .ignoresSafeArea(.all)
// matchedGeometryEffect 视图过渡动画
VStack {
if isZoom {
VideoPlayer(player: AVPlayer(url: Bundle.main.url(forResource: "move", withExtension: ".mp4")!))
.frame(height: 250)
SwiftUI初级课程(三十五) videoPlayer及matchedGeometryEffect过渡动画
最新推荐文章于 2024-11-28 19:12:13 发布