我的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在那里运行它。

关于ios - MKMapSnapshotter需要长时间创建图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29559429/

10-09 02:20