gpt4 book ai didi

ios - 如何为 Siri 快捷方式的每个自定义意图使用不同的 View Controller ?

转载 作者:行者123 更新时间:2023-11-30 11:13:38 24 4
gpt4 key购买 nike

我已经成功地使用自定义意图在我的应用程序中制作了 Siri 快捷方式原型(prototype)。我想为不同的快捷方式类型定义自定义用户界面。例如,IntentA 将显示一张带有大量标签的高卡片,而 IntentB 将显示一张带有图像和一个标签的短卡片。

我在 MainInterface Storyboard中使用的 IntentViewController 和意图定义文件之间的代码中没有看到任何直接链接。

如果可能,我希望在 MainInterface Storyboard中定义 IntentAViewController 和 IntentBViewController 并相应地处理它们,但我不知道在哪里告诉扩展为每个意图加载哪个 View Controller 或 Storyboard id。

如果不可能,那么完成多个 Intent UI 的最佳实践是什么? (我还没有找到任何具有多个意图的教程)。

最佳答案

我在 Apple 的 SoupChef 示例应用程序中找到了解决方案。由于只有一个主 IntentViewController 和一个 MainInterface Storyboard,因此使用意图,您应该检测意图类型并添加必要的 View Controller 作为 IntentViewController 的

来自 SoupChef 中的 IntentViewController:


/* 根据意图是处于确认阶段还是处理阶段,可以显示不同的 UI。
此示例使用 View Controller 包含通过专用 View Controller 来管理每个不同的 View 。
*/
如果交互.intentHandlingStatus == .ready {
让 viewController = InvoiceViewController(for: 意图)
附加子( View Controller )
完成(真,参数,期望大小)
} 否则如果交互.intentHandlingStatus == .success {
如果让response=interaction.intentResponse为?订单汤意向响应 {
让 viewController = OrderConfirmedViewController(for: 意图, with: 响应)
附加子( View Controller )
完成(真,参数,期望大小)
}
}
(其中 Attach child 调用 addChild、addSubview、didMove 并设置约束)

关于ios - 如何为 Siri 快捷方式的每个自定义意图使用不同的 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51936071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com