【发布时间】:2021-06-21 17:38:10
【问题描述】:
我有一个 UIKit 和 AppKit 应用程序,我正在通过 UIHostingController / NSHostingController 在其中显示一个 SwiftUI 视图。视图上有一些按钮,我想将点击事件传回 UIKit/AppKit 视图控制器,以从被点击的按钮显示 UIAlertController(我更喜欢在 SwiftUI 中使用 ActionSheet,但它不支持苹果系统)。我通过宿主控制器将一个委托传递给 SwiftUI 视图,并使用它来回调 UIKit/AppKit 视图。但是要显示 UIAlertController(甚至是 UIActivityViewController),我需要从 SwiftUI 视图中获取有关 sourceView 和 sourceRect 的一些信息,否则它可能会在 iPad 上崩溃。
如何将这些信息从 SwiftUI 视图传递回 UIKit/Appkit 应用程序?我猜sourceView 可能是显示的 SwiftUI 视图,但我如何读取(并传回)被点击的 SwiftUI 按钮的矩形?
【问题讨论】:
标签: swift swiftui uikit uialertcontroller uihostingcontroller