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

Posted

技术标签:

【中文标题】SwiftUI PresentationButton 在 watchOS 上单次使用后停止运行【英文标题】:SwiftUI PresentationButton Stops Functioning After Single Use on watchOS 【发布时间】:2019-06-08 21:57:27 【问题描述】:

PresentationButton 正确呈现视图,但在点击“取消”返回父视图时,按钮拒绝再次呈现子视图。

这是我的 PresentationButton 代码:

struct ContentView : View 
    var body: some View 
        ZStack 

            PresentationButton(Text("Click to show"), destination: SomeOtherView())
                .transition(.slide)
        
    

【问题讨论】:

这似乎是当前版本的一个错误。我没有看到在bugs.swift.org 注册的任何相关错误,但有人在此处(reddit.com/r/swift/comments/by2a1r/…)提到这已报告给 Apple 工程师并且他们承认了这一点。 它只是不是 watchOS。在 ios 上,它也有问题。 【参考方案1】:

在 Xcode 11 beta 4 之前,此错误以各种形式存在,但请注意 API 已更改。

PresentationButton 变为 PresentationLink,然后在 Xcode 11 beta 4 中被弃用,取而代之的是 .sheet

有关如何使用新功能的示例,请参见此处:https://***.com/a/57087399/3179416

【讨论】:

以上是关于SwiftUI PresentationButton 在 watchOS 上单次使用后停止运行的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 学习曲线

SwiftUI NavigationLink 如何到达另一个 SwiftUI 页面?

SwiftUI - 如何在 SwiftUI 中弹出到特定视图?

SwiftUI3.0将UIKit ViewController转化成 swiftUI的view

SwiftUI 五

SwiftUI/UIKit 如何将 SwiftUI 字体转换为 UIKit UIFont?