设置视频阵列视图

问题描述 投票:-1回答:1

对Xcode来说很新。我正在尝试制作一个动态壁纸应用程序。我的主要项目基本上都是工作,几个不同的视图,导航控制器等...我终于让预览/保存viewController工作,并能够将MOV文件保存为实时照片。但现在我的问题是将多个MOV文件链接到不同的按钮,以便将MOV加载到预览/保存viewController中。这就是我到目前为止所拥有的。

struct FilePaths {
static let documentsPath : AnyObject = NSSearchPathForDirectoriesInDomains(.cachesDirectory,.userDomainMask,true)[0] as AnyObject
struct VidToLive {
    static var livePath = FilePaths.documentsPath.appending("/")
}
}

class ViewController: UIViewController, 
UIImagePickerControllerDelegate, UINavigationControllerDelegate {

@IBOutlet var livePhotoView: PHLivePhotoView!
    {
    didSet {
        loadVideoWithVideoURL(Bundle.main.url(forResource: "video", withExtension: "mov")!)
    }
}

所以我将视图设置为具有特定路径“video.mov”的IBOutlet,有没有一种方法可以设置一个按钮来加载“video2.mov”在该视图中而不必重新创建所有内容?我在做这个时的第一个想法就是有很多不同的viewControllers,每个都有自己的MOV ......(告诉你我是新手)......但这绝对不是答案。我正在学习:/ ...提前谢谢你。

ios swift xcode segue
1个回答
1
投票

假设您有一组视频文件名:

let vids = ["video", "video2", "video3"]

假设你有相同数量的按钮,作为插座集合连接到你的视图控制器:

@IBOutlet weak var videoButtons:[UIButton]!

并假设每个按钮也设置了与视图控制器的动作连接,以便在按下任何按钮时调用相同的方法。然后,当按下按钮时,您可以查看它是哪个按钮,查看该视频名称,并采取相应措施:

@IBAction func doVideoButton(_ sender : UIButton) {
    if let index = self.videoButtons.firstIndex(of:sender) {
        let videoName = self.vids[index]
        // now you know the name, load that video and show it!
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.