我想用 UIImageView 编写一个 Today Widget Extension 来显示动画。
这是我的代码。
override func viewDidLoad() {
super.viewDidLoad()
layoutComponents()
imageView.startAnimating()
}
func layoutComponents() {
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
self.view.backgroundColor = UIColor.blue
let images = [UIImage(named:"1.png"), UIImage(named:"2.png"), UIImage(named:"3.png")]
imageView.frame = CGRect(x: 0, y: 0, width: self.extensionContext!.widgetMaximumSize(for: .expanded).width, height: self.extensionContext!.widgetMaximumSize(for: .expanded).height)
imageView.animationImages = images
imageView.image = images[0]
imageView.animationDuration = 1.0
imageView.animationRepeatCount = 0
self.view.addSubview(imageView)
debugPrint("Done LayoutComponents")
}
代码编译成功。但是,无法加载小部件,在 iPhone 上运行时,小部件上会显示“无法加载”。并在调试打印中,打印“Done LayoutComponents”之后。它有一行“程序以退出代码结束:0”。
任何线索我做错了什么?谢谢。
请注意,每当我将代码 imageView.startAnimating() 放入 viewWillAppear() viewDidAppear 或 widgetPerformUpdate() 时,它都会退出并出现“无法加载”的问题。
我的问题实际上是 Today Extension 支持动画 UIImageView 吗?