MKMapSnapshotter需要很长时间来创建映像



我的awakeWithContext中有一个工作的MKMapSnapshotter,我想为我的imageView设置它的图像。

问题是,MKMapSnapshotter会变慢并且不会设置图像。只需一两秒钟后,它就会创建快照映像。

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)
    var finalImage = UIImage()
    var snapshotterEnd = MKMapSnapshotter()
    snapshotterEnd.startWithCompletionHandler(){snapshot, error in
        finalImage = snapshot.image
    }
    imageView.setImage(finalImage)
}

我该如何解决这个问题?

您需要确保完成处理程序本身将设置映像。

snapshotterEnd.startWithCompletionHandler() { snapshot, error in
    imageView.setImage(snapshot.image)
}

完成块被记录为在主线程上运行,因此您无需使用 dispatch_async 即可在那里运行它。

相关内容

  • 没有找到相关文章