ios - 通知内容扩展中的 SwiftUI?
问题描述
可以在通知内容扩展中使用 SwiftUI 视图吗?Xcode 模板只提供了一个视图控制器,可以这样做吗?
解决方案
是的,您应该能够在UIViewController
using中嵌入 SwiftUI 视图UIHostingController
。这里有更广泛的答案(在现有 UIKit 应用程序中包含 SwiftUI 视图UNNotificationContentExtension
),但这里有一个使用 Xcode 模板作为基础的简短版本:
class NotificationViewController: UIViewController, UNNotificationContentExtension {
@IBOutlet var container: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let childView = UIHostingController(rootView: SwiftUIView())
addChild(childView)
childView.view.frame = container.bounds
container.addSubview(childView.view)
childView.didMove(toParent: self)
}
func didReceive(_ notification: UNNotification) {
//
}
}
推荐阅读
- ios - 展开 UITableViewCell 添加 UICollectionView 作为子视图
- acumatica - 如何在对话框网格上为已发布的材料批次启用自定义字段?
- python-3.x - confluent-kafka 消费者使用 asyncio 时遇到问题
- c# - 在给定范围内生成法线(高斯)点
- jupyter-notebook - 在 Google Colab Notebook 问题 #03.2021 ~ Sagar Bedi 先生中提取/解压缩档案/压缩文件
- arrays - 使用服务角度递减和递增数组中的数字
- c++ - Cmake处理旨在由客户端目标定义的库文件
- python - 将文本拆分为不同的进程
- java - Spark 失去执行者:远程 RPC 客户端解除关联。可能是由于容器超过阈值或网络问题
- python - 无法通过 conda 在 vscode 上安装 ipkernel