问题标签 [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 投票
0 回答
43 浏览

swift - 为 SwiftUI UIViewControllerRepresentable 锁定设备方向

我有一个 UIViewController 需要包装并用作 SwiftUI 视图。我已经实现了为该视图控制器锁定设备方向所需的方法。当我在 UIKit 上下文中使用 UIViewController 时,方向可能会被锁定。

当我使用 UIViewControllerRepresentable 将其包装为 SwiftUI 视图时,无法锁定方向。这

这是预期的行为吗?有办法解决吗?我将在框架中使用它,因此使用 AppDelegate 实现它对我不起作用。提前致谢。

0 投票
0 回答
18 浏览

swiftui - 在 UIViewControllerRepresentable SwiftFortuneWheel 包中包装 UIViewController

我真的很想使用 SwiftFortuneWheel 包中的一些功能。这个包是基于 UIKit 构建的,我的实现是 SwiftUI。包上的文档对我来说不够用,因为我没有设法创建一个有效的 UIViewControllerRepresentable 实现。

SwiftFortuneWheel 包:https ://github.com/sh-khashimov/SwiftFortuneWheel

示例项目:https ://github.com/sh-khashimov/SwiftFortuneWheel/tree/master/Examples

我写了以下内容,但在wheelBackgroundView 上不断收到“在展开操作值时发现为零”。我假设我错过了基于 SwiftUI 的项目中不存在的某种 UIKit 实现。有人可以帮助我吗?

0 投票
0 回答
14 浏览

swift - 无法在 iOS (SwiftUI) 中实现 Mapbox Navigation SDK

我一直在努力让 SwiftUI 中的 Mapbox Navigation SDK 工作。我有 UIKit 中版本的工作示例,如文档中所示:https ://docs.mapbox.com/ios/navigation/guides/get-started/install/ 。然而,事实证明这在 SwiftUI 中很难实现。

这是我的代码的样子:

'''

导入 Foundation 导入 SwiftUI 导入 CoreLocation 导入 MapboxDirections 导入 MapboxCoreNavigation 导入 MapboxNavigation

结构导航视图:UIViewControllerRepresentable {

}

'''

这里的问题似乎是它根本没有通过:Directions.shared.calculate()。

这是视频中问题的链接:https ://drive.google.com/file/d/19zHVbWaYjvWkzMD-cKvuXbJ5EMs10k5h/view?usp=sharing

提前谢谢你的帮助!

0 投票
0 回答
21 浏览

ios - 使用 SwiftUI UIViewControllerRepresentable 时无法关闭 GKGameCenterViewController

我有一个使用 SwiftUI的UIViewControllerRepresentable实现。GKGameCenterViewController我已经使用 Game Center 完成了所有必要的设置,并且GKGameCenterViewController在我的 SwiftUI 视图中调用时确实会出现。但是,我不能拒绝它。我知道Coordinator实施 the 需要aGKGameCenterControllerDelegate并且我已经这样做了。但它仍然没有放弃。我不确定我做错了什么。

0 投票
0 回答
18 浏览

swiftui - SwiftUI 如何使用 FBSDKShareKit 和 ShareDialog 将 URL 分享到 Facebook?

我尝试在诸如此类的帖子中寻找解决方案,并且人们在这些帖子中提出了同样的问题:如何使用SwiftUI将 url 共享到 Facebook ?

我什至尝试过这篇文章,有人问如何使用 SwiftUI 导出文件,但我的问题特别出在 Facebook,因为我没有问题将 URL 共享到诸如 Whatsapp 之类的应用程序。然而,我没有找到答案……

UIKit

通过阅读Facebook 的开发者文档,我找到了一种使用 UIKit 分享帖子的方法。

我创建了一个非常简单的示例项目以确保我理解了该主题。这是 UIKit 中的示例项目:

幸运的是,这立即奏效了。通过使这个项目工作,我确认我没有忘记将我的 AppBundleID 链接到 Facebook,或者忘记在我的 info.plist 中添加我的 FacebookAppID 或任何其他需要的文件。

SwiftUI

然后我尝试在 SwiftUI 中复制相同的项目,看看是否可以让它工作。我使用 ViewControllerRepresentable 能够将 UIActivityViewController 包含到 SwiftUI 中。

使用 UIActivityViewController 的原因是因为我希望用户选择他们想要共享 URL 的位置(Whatsapp、Twitter、Facebook 等)。

这是代码:

内容视图

UIViewController 可表示

此代码不起作用,因为我假设是controller初始化 ShareDialog 时使用的变量。(self 也不起作用,因为“XCode 无法将 'ActivityViewController' 类型的值转换为预期的参数类型 'UIViewController?'”

问题

Facebook Developer 的文档告诉我,我需要编写以下代码才能共享链接:

但是,SwiftUI 不适用于 ViewController。如何创建一个 ViewController 用作参数,fromViewController以便ShareDialog成功地将我的 URL 分享到 Facebook?

0 投票
1 回答
52 浏览

ios - 解决涉及 UIViewControllerRepresentable 的 SwifUI 布局错误

UIViewControllerRepresentable每当在 SwiftUI 视图中使用时,我都会遇到一个错误。我已向反馈助理提交了一份报告,但需要解决它以发布我的应用程序。

请注意,GeometryReader该错误不需要出现,但它可能会阐明正在发生的事情。

重现步骤:

在 iPhone 8 Plus 模拟器等无缺口 iPhone 上以纵向运行代码。将模拟器从纵向旋转到横向。将模拟器从横向旋转到纵向。

案文如下:

geo.size.height:736.0,geo.safeAreaInsets.top:0.0

但应阅读:

geo.size.height:716.0,geo.safeAreaInsets.top:20.0

此外,文本位置移动了 20 点。

我发现手动更正布局的一个有趣方法是开始下拉通知中心,布局和安全区域高度会自行更正。

关于如何使布局本身正确的任何想法?