问题标签 [uiviewrepresentable]

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

swiftui - MFMessageComposeViewController + SwiftUI 错误行为

我正在使用 ViewControllerRepresentable 来呈现 MFMessageComposeViewController,以便用户可以从我的应用程序发送文本。

然而,每次呈现视图时,它都非常有问题——元素随机消失,滚动关闭,屏幕闪烁。在 iOS 14.2 和 14.3 上测试。

这是代码:

和我的看法

我呈现这种观点的方式有问题吗?有没有其他人经历过这种行为?MFMailComposeViewController 也会发生类似的行为,但它没有那么错误。

0 投票
2 回答
979 浏览

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

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

在此处输入图像描述

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

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

这是我的代码:

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

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

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

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

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

0 投票
0 回答
55 浏览

swift - UIViewRepresentable updateUIView() 使用 .sheet() 时的奇怪行为

我刚刚发现 SwiftUI 的 UIViewRepresentable 有一些奇怪的行为。我不确定这是一个错误,还是我理解 SwiftUI 的错误。我做了小复制来显示问题。

我为 MKMapView 创建了 UIViewRepresentable:

然后我为这个可表示的创建非常小的包装器:

最后我在 ContentView 中使用它:

我在 ContentView 中有两个可点击元素 - 一个用于打开工作表,另一个用于隐藏按钮(只是为了查看状态更改)。打开工作表(更改showSheettrue)会导致updateUIView被调用(“更改!”在调试控制台中打印),而更改showButton不会这样做。看起来打开表改变了MapWrapper(?)的状态。这种行为正确吗?

0 投票
0 回答
628 浏览

swift - 如何以编程方式从 UIViewRepresentable 触发 UIMenu

我尝试创建一个自定义 SwiftUI 菜单(基于UIMenu)。

但是,我无法触发主要操作。

当我点击CustomMenu但未触发编程操作时它可以工作。我究竟做错了什么?

0 投票
1 回答
187 浏览

ios - 从 UIKit 发送数据更改、包装在 UIViewRepresentable 中、到 SwiftUI 和富文本编辑器问题

我正在开发一个 SwiftUI 项目,它所需的功能是在 IOS 上制作富文本编辑器。

我遵循的方法相当简单,我使用最初用 UIKit 编写的 cbess/RichTextEditor链接并将其导入 SwiftUI。为了运行导入的 UIView,我将视图包装在一个 UIViewRpresentable 中,并将其添加到 SwiftUI 的 ContentView结构中。

现在,我想在 UIView 中发布数据并将其分配给@state ContentView 拥有的一个。

代码结构类似于:

对于 ContentView (SwiftUI)

对于 UiViewRepresentable

对于 UiView(简体)

另外一个问题是,我想仅通过 SwiftUI 制作富文本编辑器。我怎样才能实现它?能给我一些关键字吗?一些回购?

非常感谢任何帮助!感谢您阅读整个问题。

0 投票
0 回答
160 浏览

swift - UIDatePicker (.countDownTimer) 上的秒数

如何将秒列添加到UIDatePicker

我目前正在显示这个:

UIDatePicker

有了这个UIViewRepresentable在 SwiftUI

这是我的视图代码供参考

我不知道如何添加秒列,即使 iOS 上的官方时钟应用程序显示一个。

0 投票
1 回答
446 浏览

swift - SwiftUI:UIViewRepresentable 中的 updateUIView() 函数导致应用程序冻结并且 CPU 达到峰值

我在 SwiftUI 中有一个自定义文本字段,它根据文本字段中的内容量调整它的行数。在应用程序中,用户可以添加文本字段,因此我将文本字段的高度和内容存储在数组中,并在添加更多文本字段时附加到数组中。

每当我移除updateUIView().只有一个文本字段)。

有谁知道为什么会发生这种情况,以及任何解决方法?

0 投票
1 回答
598 浏览

swift - SwiftUI:创建自己的 TextField 并以编程方式更改内容

我使用以下教程创建了自己的 TextField:https ://www.youtube.com/watch?v=9kfbJVqqTKc&t=17s 。一切正常,但我添加了一个功能来刷新 TextField 的内容。问题是当我以编程方式设置内容时,协调器中没有调用函数 textViewDidChange() 。这会导致整个 TextField 崩溃,这意味着当我键入内容时占位符不再消失并且它不会自动变大。当您到达应该创建新行的位置时,无论出于何种原因,文本都会被简单地删除。

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

代码:

我认为如果我在协调器本身中调用 textViewDidChange() 函数,问题就可以解决。但是,我不知道该怎么做。

提前致谢

编辑:我如何实现我的自定义文本字段:

编辑 2: 认为我发现:

当视图第一次出现时:

- 一切都很好

第一次重置后...

  1. 当我通过键盘按钮“返回”调用第二个重置时,它在文本不长于正常行时起作用,但是当我通过“正常”按钮调用重置时,它根本不起作用
  2. 占位符不再显示
  3. 当我输入的文本比正常行长并且文本框应该变大时,文本会丢失
0 投票
1 回答
351 浏览

swift - iOS SwiftUI:如何在视图中检测 UITapGesture 的位置?

所以我正在使用 Mapbox。map 结构符合 UIViewRepresentable 协议。在我的 makeUIView() 函数中,我创建了一个点击手势识别器并将其添加到地图视图中。

tappedMap 函数中的两行均未正确编译...此外,当我在 tappedMap 的参数中有“sender:UITapGestureRecognizer”时,我在点击 mapView 时导致应用程序崩溃-如果删除参数,则至少可以正确调用函数而不会崩溃。请帮忙

0 投票
1 回答
101 浏览

swift - 带有 WKWebView 的模态关闭文本字段焦点

我有一个包含 UIViewRepresentable 的简单工作表。它打开一个网页,仅此而已。我在我的应用程序的两个部分中有这个模块。一个很好用,但是当我专注于文本字段时,另一个会立即关闭模式并给我消息(在问题下方)。我发现这是自动布局的问题,但我使用的是 SwiftUI,那么单个 Web 视图会出现什么问题?

我究竟做错了什么?

我知道阅读时间太长,但也许会有所帮助:

WKWebView 的代码: