我正在使用SiriKit支付域,当用户说“发送10美元给Ronoldo”,我的自定义用户界面显示。
虽然在我的自定义视图中只有一个标签,但SiriKit显示了IntentsUI,因为它有三个与下图相同的标签。
我想我的观点重复了三次。你能帮忙吗?
最佳答案
我终于解决了这个问题。我的自定义Siri UI符合INUIHostedViewControlling协议,它定义了configureView函数来提供自定义接口。为视图控制器的每个参数调用多次,我检查了正确的参数并仅返回控制器的视图大小1次。
希望这能帮助别人。
func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, interactiveBehavior: INUIInteractiveBehavior, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {
//.... other codes....
if (parameters.count > 0) {
let startIntentDescriptionParameter = INParameter(for: INSendPaymentIntent.self,
keyPath: "currencyAmount")
if parameters.contains(startIntentDescriptionParameter) {
return completion(true, parameters, self.desiredSize)
}
}
return completion(false, parameters, CGSize.zero)
}
关于swift - SiriKit Intents UI-支付域-中心区域重复了3次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47792870/