0

私のawakeWithContextにMKMapSnapshotterが機能していて、そのイメージをimageViewに設定したいと考えています。

問題は、MKMapSnapshotter が遅くなり、画像が設定されないことです。わずか 1 ~ 2 秒後に、スナップショット イメージが作成されます。

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)
}

どうすればこれを修正できますか?

4

1 に答える 1

2

完了ハンドラー自体がイメージを設定することを確認する必要があります。

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

完了ブロックはメイン スレッドで実行されると記載されているため、そこで実行するために使用する必要はありませんdispatch_async

于 2015-04-10T11:27:07.687 に答える