问题标签 [uihostingcontroller]

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 回答
861 浏览

swift - 包含 SwiftUI 视图的 UITabBar

我有以下系列的控制器和视图。但是,当我在 MoreView 上使用导航链接时,它会更改 tabBarItem.title 的值。例如,它会说更多,但是当单击隐私策略按钮并将用户导航到策略视图时,标签栏中的标题将更改为 .navigationBarTitle() 中的任何内容,或者如果未提供,则为空字符串!我该如何避免这种情况?我希望标签栏标题是静态的

UITabBar -> UINavigationController -> MoreViewController(UIHostingController) -> MoreView(SwiftUI)

更多查看

0 投票
1 回答
450 浏览

view - SwiftUI:如何通过给定宽度获取 HostingController 视图/内容 maxHeight?

我正在尝试获取 UIHostingController-View/Content 的 maxHeigth 并且只知道宽度。我想根据我的观点创建一个 PDF 文档。一切正常,但我不知道如何获取视图/内容的 maxHeight,因此 PDF 知道我的视图/内容有多少页“长”。

更新:接下来你会发现 ProjectDetailView (打印视图我需要高度)

0 投票
2 回答
1043 浏览

ios - 当根控制器是 UIHostingController 时隐藏 UINavigationController 的 navigationBar

我正在努力隐藏navigationBar,如果根控制器不是 SwiftUI ,它将被正确隐藏UIHostingController

我尝试了以下方法:

  • 创建后设置navigationController.isNavigationBarHidden = true,在viewDidLoadviewWillAppear

  • 为's添加.navigationBarHidden(true)和。.navigationBarBackButtonHidden(true)UIHostingControllerrootView

会不会是苹果的bug?我正在使用 Xcode 11.6。

我所有的尝试:

0 投票
1 回答
1529 浏览

ios - 如何将 UIHostingController 的背景颜色设置为清除?

我需要能够看穿我的 SwiftUI 视图以及呈现它们的 UIHosting 控制器,以便查看它们下方的背景图像。下面的代码仍然在我的 SwiftUI 视图下显示一个白色矩形。Paul Hudson要使用 edgesIgnoringSafeArea 但我不能使用它,因为我的 SwiftUIView 嵌入在更大的 UI 方案中。有什么办法可以让我看到的这个白色矩形清晰吗?

0 投票
2 回答
131 浏览

ios - 如何使用 CoreData 实例化 UIHostingController?

作为一名长期的 Obj-C 开发人员(从 iPhone OS 2 开始),我认为 SwiftUI 是使用 Swift 的推动力!¯\ (ツ) /¯ 因此,我仍在尝试理解一种语言如何在代码中如此类型模糊,在编译器中如此类型迂腐!!!

努力让 Swift/SwiftUI 实例化一个 UIHostingController<>,以便与 CoreData 一起使用

如何强制 Swift 推断正确/适当的类型?

到目前为止我所尝试的。

编译/运行,但不包括 CoreData。

编译,但在实例化时崩溃。

无法将 'SwiftUI.ModifiedContent<MyHostingController.MyCoreDataView, SwiftUI._EnvironmentKeyWritingModifier<__C.NSManagedObjectContext>>' (...) 类型的值转换为 'MyHostingController.MyCoreDataView' (...)。

...或者这根本不可能?(然而)

0 投票
0 回答
360 浏览

ios - 如何从 SwiftUI 视图中呈现 UIDocumentInteractionController

我有以下代码截取 SwiftUI 视图的屏幕截图,我想在 UIDocumentInteractionController 中展示此屏幕截图。我已经在 UIKit ViewController 中完成了这项工作,我想知道是否有办法将我必须的非工作代码转换为可以呈现 UIDocumentInteractionController 的东西:

这给了我一个有意义的错误。但我不知道如何解决它。传入的正确参数是什么documentInteractionController.presentOptionsMenu(...)

0 投票
0 回答
163 浏览

ios - 如何检测子视图是 UIHostingController 中的按钮 - SwiftUI

我需要从 SwiftUI 视图中获取一个按钮,该按钮包含在UIHostingController. 在 UIKit 中,我们可以通过这种方式简单地检查类型:

对于在 UIViewController 中添加为视图的 SwiftUI 视图应该如何处理?

0 投票
0 回答
58 浏览

ios - UISwipeGestureRecognizer 可以用于 UIHostingController 中的视图吗?

根据https://stackoverflow.com/a/64726641/3286489中的回答,我可以使用UISwipeGestureRecognizer.

但是,当我将相同的代码传输到UIHostingController下面时,它不再起作用

我需要做些什么才能让向下滑动工作UIHostingController

UIHostingController注意:如果不在全屏模式下,向下滑动以关闭仍然有效。

0 投票
2 回答
1295 浏览

ios - 从托管视图控制器委托 SwiftUI 视图

我将 UIHostingViewController 添加到我的 Storyboard 并为此制作课程。在控制器初始化中加载 mySwiftUIView。一切正常。

但是我想为 mySwiftUIView 制作像委托一样的托管控制器,因为我想在视图中处理按钮按下。

Id 不起作用,因为我在托管控制器完全初始化之前传递了视图。Swift 显示消息“self used before super.init call”

如果我将使用通常的 UIViewController 并将 HostingController 放在里面 - 它是有效的。但这不适合我,因为它涉及尺寸和导航问题。

如何使用单独的 UIHostingController 来做到这一点。谢谢

完整代码

0 投票
2 回答
979 浏览

swift - 嵌入在 UIHostingController 中的 NavigationView 具有额外的安全区域插图

有谁知道如何处理这个问题?好像当你有一个带有 NavigationView 的 UIHostingController 时,会发生以下情况:

在此处输入图像描述

注意大的灰色标签栏安全区域。

这主要是一个 UIKit 应用程序。正在用 swiftUI 视图替换选项卡栏中的选项卡。

这是我的代码:

原谅审查制度。我希望该应用程序保持匿名。

但基本上我的 UITabBar 构建如下:

  • 有一个全局 UINavigationViewController
  • UINavigationController 中的第一个也是唯一的项目是这个 UITabBar
  • UITabBar 选项卡都是以编程方式创建的。
  • 有问题的选项卡只是一个 UIHostingController,上面的代码是 rootView。

我尝试手动为 UIHostingController 设置额外的安全区域插图,以使其扩展到安全区域之外。

如果我删除 NavigationView 一切看起来和功能都符合预期。