Je veux utiliser SDWebImage pour télécharger une image avec l'URL et le dessiner dans UIView (utilisation cgcontext), mais quand le téléchargement est terminé, il n'y a rien arriverComment utiliser SDWebImage pour dessiner l'image dans cgcontext
func drawImage(){
var imageView = UIImageView()
println("drawimageaaaaa")
imageView.sd_setImageWithURL(NSURL(string: drawObj.ctn!)!, placeholderImage: UIImage(named: "defaultphoto")!, completed: { (image:UIImage!, error:NSError!, type:SDImageCacheType, url:NSURL!) -> Void in
println("drawimagebbbb")
var context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context)
var cgimg = image!.CGImage;
var rect = CGRect(x: drawObj.points![0].x,y: drawObj.points![0].y,width: drawObj.currentWidth!,height: drawObj.currentHeight!)
CGContextTranslateCTM(context, rect.origin.x, rect.origin.y)
CGContextScaleCTM(context, 1.0, -1.0)
CGContextRotateCTM(context,-CGFloat(Double(drawObj.angle!)*M_PI/180))
if drawObj.isFlip == true{
CGContextTranslateCTM(context, -rect.width/2, rect.height/2)
}else{
CGContextTranslateCTM(context, -rect.width/2, -rect.height/2)
}
CGContextTranslateCTM(context, -rect.origin.x, -rect.origin.y)
CGContextDrawImage(context, rect, cgimg);
CGContextRestoreGState(context)
})
}
override func drawRect(rect: CGRect) {
for drawObj in drawObjs {
if drawObj.drawPara!.drawType == MouseStatus.attach{
drawImage(drawObj)
}
}
}
Maintenant, j'essaie de lancer à nouveau la fonction drawImage (même URL) l'image apparaît dans l'UIView
Comment dessiner dans UIView quand le téléchargement est terminé?
bloc dans sd_setImageWithURL est exécuté pas trop après le téléchargement @ Daij-Djan – jansma
il est exécuté de manière asynchrone si –
Je sais, j'ai attendu trois minutes, mais quand je l'exécute à nouveau, l'image est apparue – jansma