Имам бутон за споделяне в действие UITableViewCell
, което извлича UIActivityViewController
. Това работи абсолютно добре, освен факта, че зареждам изображение от Parse и тъй като изображението е с доста висока разделителна способност, може да накара UIActivityViewController
да се появи бавно. Добавих UIActivityIndicator
към лентата за навигация, за да уведомя потребителя, че нещо се зарежда, но това все още не е най-доброто потребителско изживяване.
Чудех се дали все пак мога да накарам UIActivityViewController
да се появи веднага, като същевременно зареждам изображението във фонов режим, така че да се добавя към споделянето, когато се зареди? Или това, или има начин да започнете да зареждате изображението веднага щом потребителят плъзне UITableViewCell
?
Ако някой има други предложения, ще бъдат много благодарни!
Благодаря!
РЕДАКТИРАНЕ:
Ето кода, който имам:
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
let imageURL = NSURL(string: DataManager.sharedInstance.getRideByName(cell.rideNameLabel.text!)!.rideImage!)
let imageData = NSData(contentsOfURL: imageURL!)
dispatch_async(dispatch_get_main_queue()) {
let image = UIImage(data: imageData!)
let text = "I've just been to '\(cell.rideNameLabel.text!)' at \(self.parkPassed.name!)!"
let appURL = NSURL(string: "http://itunes.apple.com/app/1021402097")
let objectsToShare = [text, image!, appURL!]
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
activityVC.excludedActivityTypes = [UIActivityTypeAddToReadingList, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePostToFlickr, UIActivityTypePostToTencentWeibo, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll]
self.presentViewController(activityVC, animated: true, completion: nil)
self.navigationItem.titleView = nil
}
}