我正在尝试使用 mac 催化剂弹出一个文档选择器,但我得到的只是一个空白屏幕。
在 iPad 和 iPhone 上的 ios 13.2.2 上一切正常,但在 macos 10.15.1 catalina 上却不能。
有谁知道如何使用催化剂在 ios 和 macos 中弹出文档选择器?
我的权利文件具有:
<key>com.apple.security.app-sandbox</key>
<false/>
Run Code Online (Sandbox Code Playgroud)
这是显示问题的测试代码。
import Foundation
import SwiftUI
struct ContentView: View {
@State var isFilePickerShown = false
var body: some View {
VStack {
Button(action: { self.isFilePickerShown.toggle() }) {
Image(systemName: "rectangle.and.paperclip").resizable().frame(width: 70, height: 70)
}
}.sheet(isPresented: $isFilePickerShown, onDismiss: {self.isFilePickerShown = false}) {
DocPickerViewController(callback: self.filePicked, onDismiss: { self.isFilePickerShown = false })
}
}
func filePicked(_ url: URL) {
print("\nThe url is: …
Run Code Online (Sandbox Code Playgroud) 我想拖动一个滑块,当然也让它滑动。我可以做一个或另一个,但我不能两者都做。我怎样才能拖动并有一个工作滑块?
我也试图找到一种方法来删除一个手势,但我找不到一种方法来做到这一点。还尝试了 Apple“Composing SwiftUI Gestures”文档中的“Sequenced Gesture States”代码,并引入了一个标志来打开/关闭拖动,结果相同,拖动或滑动不是两者。
我还尝试将滑块放在容器(VStack)中并将拖动手势附加到它,但这也不起作用。
import SwiftUI
struct ContentView: View {
@State var pos = CGSize.zero
@State var acc = CGSize.zero
@State var value = 0.0
var body: some View {
let drag = DragGesture()
.onChanged { value in
self.pos = CGSize(width: value.translation.width + self.acc.width, height: value.translation.height + self.acc.height)
}
.onEnded { value in
self.pos = CGSize(width: value.translation.width + self.acc.width, height: value.translation.height + self.acc.height)
self.acc = self.pos
}
return Slider(value: $value, in: 0...100, step: 1)
.frame(width: 250, …
Run Code Online (Sandbox Code Playgroud)