【发布时间】:2017-09-06 15:23:36
【问题描述】:
我在 Apple Watch 上遇到了复杂问题。
我正在尝试在复杂功能上显示图像和一些文本。我可以在时钟界面选择并发症,但它没有显示应用程序标题和两行充满“-”字符。
并发症应该显示我的信息,但我看不出我的代码有什么问题
代码如下:
func getLocalizableSampleTemplate(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTemplate?) -> Void) {
// This method will be called once per supported complication, and the results will be cached
handler(nil)
var template: CLKComplicationTemplateModularLargeColumns?
switch complication.family {
case .modularSmall:
template = nil
case .modularLarge:
let modularLargeTemplate =
CLKComplicationTemplateModularLargeColumns()
modularLargeTemplate.row1ImageProvider =
CLKImageProvider(onePieceImage: UIImage(named: "GreenUser")!)
modularLargeTemplate.row2ImageProvider =
CLKImageProvider(onePieceImage: UIImage(named: "GreenUser")!)
modularLargeTemplate.row3ImageProvider =
CLKImageProvider(onePieceImage: UIImage(named: "GreenUser")!)
modularLargeTemplate.row1Column1TextProvider = CLKSimpleTextProvider(text: "User: ")
modularLargeTemplate.row1Column2TextProvider = CLKSimpleTextProvider(text: "ok")
modularLargeTemplate.row2Column1TextProvider = CLKSimpleTextProvider(text: "Car: ")
modularLargeTemplate.row2Column2TextProvider = CLKSimpleTextProvider(text: "ok")
modularLargeTemplate.row3Column1TextProvider = CLKSimpleTextProvider(text: "Environment: ")
modularLargeTemplate.row3Column2TextProvider = CLKSimpleTextProvider(text: "ok")
template = modularLargeTemplate
case .utilitarianSmall:
template = nil
case .utilitarianLarge:
template = nil
case .circularSmall:
template = nil
default:
template = nil
}
handler(template)
}
如果我在代码中间放置一个断点,调试器就会触发它,所以它会执行这段代码。然而,没有像我想要的那样显示。
你能找出错误/遗漏的地方吗?
【问题讨论】:
-
为什么一开始就叫
handler(nil)???您的整个函数没有执行,它立即返回一个nil闭包。 -
@DávidPásztor 我试图删除该行,但结果仍然相同
-
你真的检查过你的函数是否被调用,
template在被调用的时候是不是nil? -
是的,我检查了,该函数被调用并且模板不是 nil。
标签: ios swift apple-watch apple-watch-complication