Я реализовал UIActivityController
, который извлекает изображение из UIPickerViewController
.Я могу успешно поделиться текстом и изображением через текстовое сообщение, но не могу поделиться им через Facebook или мессенджер.
override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let complete = UIContextualAction.init(style: .normal, title: "Complete") { (action, view, completion) in
if UIImagePickerController.isSourceTypeAvailable(.camera) {
self.picker.allowsEditing = false
self.picker.sourceType = UIImagePickerController.SourceType.camera
self.picker.cameraCaptureMode = .photo
self.picker.modalPresentationStyle = .fullScreen
self.present(self.picker,animated: true,completion: nil)
} else {
self.noCamera()
}
}
// complete.image = //... Add an image
complete.backgroundColor = #colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1)
let action = UISwipeActionsConfiguration.init(actions: [complete])
action.performsFirstActionWithFullSwipe = true //... Full swipe support
return action
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
guard let myImageView = info[.originalImage] as? UIImage else {
return
}
print(myImageView)
if myImageView != nil {
self.dismiss(animated: true, completion: nil)
let activityController = UIActivityViewController(activityItems: [self.completedTxt, myImageView as Any], applicationActivities: nil)
present(activityController, animated: true, completion: nil)
}else {
return
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
Когда я печатаю (myImageView), размер {3024, 4032}
, который я предполагаю, являетсяразрешающая способность.Если это правда, я думаю, что изображение может быть слишком большим, чтобы поделиться.Если это правильно,
есть ли способ уменьшить разрешение изображения?