问题标签 [uiviewcontrollerrepresentable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
22 浏览

swiftui - 导致 UIViewControllerRepresentable 目的地的多个 NavigationLinks 以空白屏幕结束

我发现了一个显示错误的最小 SwiftUI 应用程序:

重现步骤:

  • 点击“详细画面”
  • 点击“查看 UIKit VC”。您将看到“Hello, World”UIViewController。
  • 点击返回
  • 点击“查看 UIKit VC”

预期

  • 您应该再次看到“Hello, World” UIViewController

实际

  • 您将看到一个空白视图。这将在您尝试时发生多次。

从第二次尝试看到的空白屏幕

注意:在注释掉的代码中,如果您只有一层 NavigationLink 深度,它可以正常工作。

0 投票
1 回答
27 浏览

swiftui - 从 swiftUI 中的一个嵌入式 UIViewController 导航到 swift UI 中的另一个嵌入式 UIViewcontroller

我有一个嵌入在 swiftUI 视图中的 UIViewController

我希望能够直接从 SwiftUI 导航到另一个带有嵌入式 UIViewController 的 SwiftUI 视图 SO,我在 SwiftUI 的视图上做了

导航激活的条件是overlayShow.isShowingOverlayis true。此变量在 UIViewController 中使用ObservableObject.

问题是,overlayShow.isShowingOverlay无论我在哪里点击第一个 UIViewController的值,OnboardingWrapper导航都会被激活并转到下一页。

为了更清楚,我发布了屏幕录像。在此处输入图像描述 请问我该如何解决这个问题。

0 投票
1 回答
88 浏览

swift - 使用 UIViewControllerRepresentable 更新值时弹出窗口崩溃

我想在 iPhone 上制作弹出框,我注意到.popover在 iPhone 中使用时它总是显示为工作表,但在 iPad 上它会显示为弹出框

所以我决定使用 UIKit 版本一切正常,直到我点击 Button 来更新视图

它将因此错误而崩溃

我的代码:

我如何使用它:

}

0 投票
1 回答
123 浏览

swift - UIViewControllerRepresentable 目前仅在 iOS 14 中不更新

我创建了 UIViewControllerRepresentable 来呈现弹出框。

我确实在 Xcode 13 和 iOS 15 上对其进行了测试,它在此链接上的视频效果很好

但它在 Xcode 12.5.1 和 iOS 14.8 上无法按预期工作作为此链接上的视频

我不知道为什么它不能在 iOS 14.8 上运行,是否有其他解决方案可以让它在两个 iOS 版本上运行?

我的代码:

0 投票
0 回答
27 浏览

swiftui - SwiftUI 包装的 UIDocumentPickerViewController 在导出后挂起

我想用来UIDocumentPickerViewController选择导出文件的位置。我使用它来包装它UIViewControllerRepresentable并将它呈现在一个ZStack. 它可以工作,文件已写入,但随后它会永远留在屏幕上,并带有旋转的轮子。

有正确的方法吗?或者,如果它是一个错误,有没有办法解决它?

0 投票
1 回答
90 浏览

ios - UICloudSharingController 不显示/不与 CloudKit 应用程序一起使用

我一直在努力让应用程序与 CloudKit 和记录共享一起工作。我创建了几个应用程序,可以在一个用户的设备之间同步 Core Data 记录。我无法让 UICloudSharingController 用于共享记录。我可以显示共享视图控制器,但点击邮件或消息会显示一个键盘,但没有地址字段,也无法关闭视图。我对此感到非常沮丧,以至于我决定从基础开始尝试 Apple“共享”示例应用程序。但是,示例应用程序也不适用于我。

这是示例应用程序的链接: https ://github.com/apple/cloudkit-sample-sharing/tree/swift-concurrency

下面的代码几乎直接来自示例应用程序。

这是 ContentView 文件:

以及共享视图的 UIViewControllerRepresentable 文件:

这是点击共享记录时显示的屏幕。这一切看起来都符合预期:

在此处输入图像描述

这是点击消息后的屏幕(邮件的结果相同)。我看不到任何影响第二个屏幕演示的方法 - 可表示的视图控制器似乎不适用于此版本的 Xcode:

在此处输入图像描述

任何指导将不胜感激。Xcode 13.1、iOS 15 和我在 macOS Monterrey 上。

0 投票
0 回答
33 浏览

swiftui - 无法向下拖动/关闭 UIColorPickerViewController

我正在使用 sheet() 方法将 UIColorPickerViewController 显示为工作表,一切正常,但我无法再向下拖动/关闭视图。

知道如何使拖动/向下关闭手势起作用吗?

谢谢!

0 投票
0 回答
55 浏览

swiftui - SwiftUI:将 AVPlayerViewController 设置为全屏背景会强制其他视图忽略安全区域

当我将AVPlayerViewControllerWrappedUIViewControllerRepresentable作为视图的全屏背景放入时,它会强制主要内容视图忽略安全区域。

在上面的示例中,文本忽略了安全区域。

视频播放器控制器:

但是,如果我将背景设为普通视图,则文本不再忽略安全区域

有没有办法解决这个问题?

0 投票
1 回答
23 浏览

ios - 有条件地分配 UIViewControllerRepresentable 类型的视图在状态更改时无法呈现更改

按“FIRST”或“SECOND”文本视图应更改状态selectionselectedView相应更新。虽然调试器显示按下“FIRST”或“SECOND”会导致body重新评估并正确分配selectedView,但屏幕永远不会更新以显示正确的视图。相反,屏幕只显示与selection的初始化状态相对应的视图,并停留在该视图上。

当我交换TestRepresentable(string: "First View")Text("First View")并对“第二视图”执行相同操作)时,屏幕会正确更新。关于我的 UIViewController 或 UIViewControllerRepresentable 实现的某些内容会阻止我的 SwiftUI 视图中的更改在屏幕上呈现。为什么对 State 变量的更改不selection呈现正确的selectedView

0 投票
1 回答
91 浏览

swift - 如何使用 Swift 的 PHPickerController 在 Firebase 上上传多个图像

因此在 Swift 中,您可以使用 UIImageViewController 轻松上传图像/视频。我做了研究并遇到了 PHPickerController,我正在尝试将其合并到我的代码中——原因是我想要选择多个图像/视频,一旦用户按下“按钮”,它就会将该批次推送到 firebase 云。我已经为此苦苦挣扎了一段时间。任何这样做的示例 swift 文件将不胜感激。