小编Tre*_*vor的帖子

如何使用 SwiftUI (4.0) 以编程方式显示 ShareLink 工作表

这是在视图中实现的方法:

ShareLink(url) {
    Label("Share", systemImage: "square.and.arrow.up")
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让这成为一种程序化的体验?

前任。点击按钮,执行异步任务,然后在任务完成时显示共享链接表。

swiftui

10
推荐指数
0
解决办法
420
查看次数

iOS Firestore“文档路径不能为空”

我收到错误

*** Terminating app due to uncaught exception 'FIRInvalidArgumentException', reason: 'Document path cannot be empty.'
terminating with uncaught exception of type NSException
Run Code Online (Sandbox Code Playgroud)

有些人会遇到类似的问题,因为在旧版本的 Firebase 中,文档的检查语句只会检查 nil 字符串而不是空字符串。Firebase 的最新版本会检查 nil 和空字符串。

ios firebase swift google-cloud-firestore

6
推荐指数
1
解决办法
4374
查看次数

Swift:如何处理 PHPicker 的视频和照片结果?

我需要用户能够从照片库中选择多张照片和视频。(使用 PHPicker)我已经知道如何用这个获取图像:

func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
    var contentsData: [Data] = []
    for result in results {
        if result.itemProvider.canLoadObject(ofClass: UIImage.self) {
            result.itemProvider.loadObject(ofClass: UIImage.self) { selectedData, error in
                if let error = error {
                    print("PICKER ERROR: \(error)")
                } else {
                    if let selectedImage = selectedData as? UIImage {
                        if let selectedImageData = selectedImage.jpegData(compressionQuality: 0.5) {
                            contentsData.append(selectedImageData)
                            if contentsData.count == results.count {
                                self.parent.completion(contentsData)
                            }
                        }
                    }
                }
            }
        }
    }
    self.parent.presentationMode.wrappedValue.dismiss()
}
Run Code Online (Sandbox Code Playgroud)

我假设我需要做的是检查 PHPickerResult 的每个结果是什么数据类型,然后相应地加载每个对象。问题是视频文件可能是 .mov、.mp4 等。如何将 PHPickerResult 识别为视频并进行相应处理?

swift phpicker

4
推荐指数
1
解决办法
5102
查看次数

如何在我的自定义形状上圆化这些角?

我制作了一个自定义的“倾斜”矩形,我想将其变成圆角“倾斜”矩形。这是迄今为止的一张图片:

形状

struct SlantedRectangle: Shape {
    func path(in rect: CGRect) -> Path {
        return Path { path in
            path.move(to: CGPoint(x: rect.width, y: 30))
            path.addLine(to: CGPoint(x: rect.width, y: rect.height))
            path.addLine(to: CGPoint(x: 0, y: rect.height))
            path.addLine(to: CGPoint(x: 0, y: 0))
        }
    }
}

Run Code Online (Sandbox Code Playgroud)

如何将左上角和右上角圆角化?

swiftui

2
推荐指数
1
解决办法
162
查看次数