问题标签 [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.
swiftui - UIViewControllerRepresentable 中的后退按钮转到根视图而不是返回上一个视图
我有一个 SwiftUI 应用程序,它具有三个级别:
- 主列表(SwiftUI NavigationView)
- 二级列表(SwiftUI NavigationView)
- 一个 UIViewControllerRepresentable
在我的二级列表中,我有
然后在 UIViewControllerRepresentable 我有
出现的后退按钮应该返回到辅助列表,但它会返回到主列表。
swiftui - SwiftUI + UIPageViewController,多种视图类型
我想在我的 SwiftUI 应用程序中使用 UIPageViewController,如本教程所示。但是,本教程传递与页面相同的视图类型,我想传递任何类型的视图。
如果我将 PageView_Previews 中的页面数组更改为 [Color.red, Text("abc")] 之类的内容,则会收到错误消息,因为它们的类型不同。如何让 SwiftUI 在这里允许异构视图类型?
我不能将 TabView 与 PageTabViewStyle 一起使用(很多错误),所以这就是我需要使用这个 UIKit 方法的原因。
ios - SwiftUI - 从视图中显示自定义 ViewController
Button
我有一个View
调用自定义视图控制器(UIViewControllerRepresentable
),因为我使用的外部库需要一个视图控制器作为参数来显示它自己的弹出窗口(当然我不能改变)。
出于这个原因,我创建了这个中间件视图控制器,但是使用这个逻辑,行为不是我想要的......
两个弹出窗口,一个在另一个之上将被打开。
这是因为这个库不是在 SwiftUI 中创建的,而是经典的 UIKit。
我做了什么:
内容视图
空控制器:
这是这种情况下的结果:
有一种方法可以直接使用
在View
没有从另一个视图控制器传递并避免多个弹出窗口的情况下?
基本上我不想看到RED View 控制器,而是直接看到GREEN控制器。
ios - 为什么将绑定注入 UIViewControllerRepresentable 会导致保留周期?
因此,当将作为已发布属性的绑定从 ObservableObject 注入 UIViewControllerRepresentable 时,似乎存在一个保留周期。
似乎如果您在另一个视图中创建一个视图,并且第二个视图具有 ObservableObject 并将其发布的属性注入 UIViewControllerRepresentable 然后在协调器中使用,则在刷新原始视图时永远不会释放 ObservableObject。
此外,Binding 看起来完全被破坏了,并且 UIViewControllerRepresentable 不再起作用
看着它,Coordinator(self) 不好是有道理的,但苹果自己的文档说要这样做。我错过了什么吗?
这是一个简单的例子:
swift - 从 UIViewControllerRepresentable 发送一个事件到 swiftui 视图
我尝试在 SwiftUI 视图中捕获 UIViewController 中发生的事件。该架构在 SwiftUI 中,在 Swift 中有一个元素:
风景
UIViewControllerRepresentable
UIViewController
在动画结束时,我想打电话给 swiftUIView 进行更新。
我尝试使用一些 ObservableObject 或使用 updateUIViewController 函数。我可以通过 UIViewControllerRepresentable 将数据从 SwiftUI 视图传递到 UIViewController。但是如何恢复 UIViewController 的变化呢?updateUIViewController 似乎没有被调用。
ios - UIViewControllerRepresentable 高度太大
我正在尝试将 UIKit 上下文菜单添加到 SwiftUI 视图,因为 SwiftUI 上下文菜单非常有限。我设法做到了,但 UIViewControllerRepresentable 占用的空间超出了它的需要。如何调整它的大小以适应其中的内容?这是我的代码。
SwiftUI 代码
UIKit 代码
swiftui - Tatsi 库通过 UIViewControllerRepresentable 与 SwiftUI 集成
我正在通过 SPM 将Tatsi库集成到我在 SwiftUI 中的项目中,但是我遇到了一个问题,因为没有调用 Tatsi 视图顶部的 Done 并且我无法获取所选图像。
通过 UIViewControllerRepresentable 进行集成的代码如下:
我不知道为什么在选择图像时无法完成完成操作。
我以这种方式集成库是因为我需要对 iOS 13 的支持。
ios - UIViewControllerRepresentable 未正确占用空间
我正在尝试UIViewController
在 SwiftUI 视图中使用自定义。我设置了一个在方法UIViewControllerRepresentable
中创建的类。这将创建并显示按钮,但是不占用任何空间。UIViewController
makeUIViewController
UIViewController
UIViewControllerRepresentable
我尝试使用 aUIImagePickerController
而不是我的自定义控制器,并且大小正确。我让控制器占用空间的唯一方法是UIViewControllerRepresentable
在我的 SwiftUI 视图中设置一个固定框架,我绝对不想这样做。
注意:我确实需要使用 a UIViewController
,因为我正在尝试UIMenuController
在 SwiftUI 中实现 a。除了我遇到的这个问题之外,我所有的一切都可以正常工作,因为它的尺寸不正确。
这是我的代码:
我的 SwiftUI 视图:
截屏:
我对 UIKit 没有太多经验——我唯一的经验是编写 UIKit 视图以在 SwiftUI 中使用。这个问题很可能与我缺乏 UIKit 知识有关。
提前致谢!
编辑:
这是EntityViewItem
. 我还将提供ClientView
位于 - 中的容器视图EntityView
。
我还清理了其余代码并Entity
用硬编码值替换了对的引用。
的容器ClientView
:
ios - 仅在某些视图控制器中延迟系统边缘手势。SwiftUI
我想导航到禁用系统边缘手势的自定义 UIView。我将 SwiftUI 生命周期与 UIViewControllerRepresentable 一起使用并覆盖了preferredScreenEdgesDeferringSystemGestures。
我已经看到了 SceneDelegates 的解决方案。preferredScreenEdgesDeferringSystemGestures 是否必须对 window.rootViewController 起作用才能使其工作?