У меня есть кнопка «Поделиться» в действии 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
}
}