相关疑难解决方法(0)

是否已替换过时的PresentationLink?(Xcode 11 beta 4)

在Xcode beta 4中,使用PresentationLink会给出以下警告:“不推荐使用'PresentationLink':请改用.sheet修饰符。”

我假设它们的意思是某种形式的

func sheet<Content>(isPresented: Binding<Bool>, onDismiss: (() -> Void)? = nil, content: @escaping () -> Content) -> some View where Content : View
Run Code Online (Sandbox Code Playgroud)

但我不确定如何切换到此模式-特别是,这种isPresented说法使我感到困惑。我知道有一个名为isPresented的Environment变量,但是对于当前View来说,这不是吗,不是要呈现的View吗?

我对此最感兴趣,因为我希望这能解决PresentationLinks仅工作一次的问题(请参阅swiftUI PresentaionLink第二次不工作

现在不赞成使用PresentationLink的人可以提供一个简单的示例来显示视图吗?例如,将以下内容转换为使用.sheet修饰符:

  NavigationView {
        List {
            PresentationLink(destination: Text("Destination View")) {
                Text("Source View")
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

swiftui

8
推荐指数
2
解决办法
2008
查看次数

一次在watchOS上使用后,SwiftUI PresentationButton停止运行

PresentationButton可以正确显示视图,但是在单击“取消”以返回到父视图时,该按钮拒绝再次显示子视图。

这是我的PresentationButton代码:

struct ContentView : View {
    var body: some View {
        ZStack {

            PresentationButton(Text("Click to show"), destination: SomeOtherView())
                .transition(.slide)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

swiftui

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

ScrollView 破坏了 .sheet 表示

我正在尝试将工作表表示工作嵌套在ScrollView.

如果没有ScrollView修饰符.sheet,效果很好,但是当我将所有内容包装在滚动视图内时,修饰符只会触发一次。因此,第一次点击时,工作表看起来很好,但在关闭它后,我无法再次触发它。我不确定这本身是否是一个错误SwiftUI,或者我是否在这里做了什么。

注意:如果我将.sheet修饰符添加到其ScrollView本身,则一切正常。但对于我的用例,.sheet修饰符被添加到深深嵌套在ScrollView.

我正在使用 Xcode Beta 5

没有 ScrollView - 有效

struct SheetWorks: View {
    @State var showSheet = false

    var strings = [
      "Hello", "World", "!"
    ]

    var body: some View {
        HStack {
            ForEach(strings) { string in
                Button(action: {self.showSheet.toggle()}) {
                    Text(string)
                }
                .sheet(isPresented: self.$showSheet) {
                    Text("Here is the sheet")
                }
            }
        }
        .padding()
    }
}
Run Code Online (Sandbox Code Playgroud)

使用 ScrollView - 不起作用

struct SheetDoesntWork: …
Run Code Online (Sandbox Code Playgroud)

swiftui

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

SwiftUI教程PresentationButton Bug

我开始尝试在WWDC 2019上宣布的新SwiftUI框架,并在https://developer.apple.com/tutorials/swiftui上开始了该教程。

现在,我谈到了通过来将Profile连接到HomeScreen的地步PresentationButton。更确切地说,我在谈论以下代码部分Home.swift

            .navigationBarItems(trailing:
                PresentationButton(
                    Image(systemName: "person.crop.circle")
                        .imageScale(.large)
                        .accessibility(label: Text("User Profile"))
                        .padding(),
                    destination: ProfileHost()
                )
            )
Run Code Online (Sandbox Code Playgroud)

当我第一次单击该按钮时,“配置文件”看起来很好,但是当我关闭它,然后再次单击该按钮时,什么也没有发生。

有人知道为什么会这样吗?

提前致谢

xcode swift swiftui

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

标签 统计

swiftui ×4

swift ×1

xcode ×1