mirror of
https://github.com/writeas/writefreely-swiftui-multiplatform.git
synced 2024-11-15 01:11:02 +00:00
58 lines
2.1 KiB
Swift
58 lines
2.1 KiB
Swift
|
//
|
||
|
// ActionViewController.swift
|
||
|
// ActionExtension-iOS
|
||
|
//
|
||
|
// Created by Angelo Stavrow on 2021-11-05.
|
||
|
//
|
||
|
|
||
|
import UIKit
|
||
|
import MobileCoreServices
|
||
|
import UniformTypeIdentifiers
|
||
|
|
||
|
class ActionViewController: UIViewController {
|
||
|
|
||
|
@IBOutlet weak var imageView: UIImageView!
|
||
|
|
||
|
override func viewDidLoad() {
|
||
|
super.viewDidLoad()
|
||
|
|
||
|
// Get the item[s] we're handling from the extension context.
|
||
|
|
||
|
// For example, look for an image and place it into an image view.
|
||
|
// Replace this with something appropriate for the type[s] your extension supports.
|
||
|
var imageFound = false
|
||
|
for item in self.extensionContext!.inputItems as! [NSExtensionItem] {
|
||
|
for provider in item.attachments! {
|
||
|
if provider.hasItemConformingToTypeIdentifier(UTType.image.identifier) {
|
||
|
// This is an image. We'll load it, then place it in our image view.
|
||
|
weak var weakImageView = self.imageView
|
||
|
provider.loadItem(forTypeIdentifier: UTType.image.identifier, options: nil, completionHandler: { (imageURL, error) in
|
||
|
OperationQueue.main.addOperation {
|
||
|
if let strongImageView = weakImageView {
|
||
|
if let imageURL = imageURL as? URL {
|
||
|
strongImageView.image = UIImage(data: try! Data(contentsOf: imageURL))
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
|
||
|
imageFound = true
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (imageFound) {
|
||
|
// We only handle one image, so stop looking for more.
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@IBAction func done() {
|
||
|
// Return any edited content to the host app.
|
||
|
// This template doesn't do anything, so we just echo the passed in items.
|
||
|
self.extensionContext!.completeRequest(returningItems: self.extensionContext!.inputItems, completionHandler: nil)
|
||
|
}
|
||
|
|
||
|
}
|