iOS9(swift2.0)教程系列之Share Extensions

我们将编写一个简单的应用程序,让我们在相册选择一个图片,并分享我们的应用程序。

这个程序允许我们从相册中选择一张照片,我们也会选择一个颜色与照片,我们也可以选择默认的。

1.激活share extentions

打开plist文件,添加一下代码:

<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
   <key>NSExtensionActivationSupportsImageWithMaxCount</key>
   <integer>1</integer>
</dict>
</dict>

2.实现share extentions

创建一个RedViewController继承UIViewController,添加ImageView

import UIKit
import Photos
class RedViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
let suiteName = "paul.share.extension"
let redDefaultKey = "RedColorImage"

//将图片保存在NSUserDefaults中
override func viewDidLoad() {
    super.viewDidLoad()
    if let prefs = NSUserDefaults(suiteName: suiteName) {
        if let imageData = prefs.objectForKey(redDefaultKey) as? NSData {
            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                self.imageView.image = UIImage(data: imageData)
            })
        }
    }
}
}

同样创建一个BlueViewController继承UIViewController,添加ImageView

import UIKit
class BlueViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
let suiteName = "paul.share.extension"
let blueDefaultKey = "BlueColorImage"

//将图片保存在NSUserDefaults中
override func viewDidLoad() {
    super.viewDidLoad()
    if let prefs = NSUserDefaults(suiteName: suiteName) {
        if let imageData = prefs.objectForKey(blueDefaultKey) as? NSData {
            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                self.imageView.image = UIImage(data: imageData)
            })
        }
    }
}
}

写得太水了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,099评论 8 183
  • 2016.8.18 幸福的来源 “妈妈,我觉得我们家很幸福。” “嗯!说...
    王燕惠阅读 200评论 0 0
  • 这可能是毕业后第一次这么上心的做一件事,这破网站还差点让我没完成了,一直登陆不上去。 其实今天我看书差不多用了2个...
    徐恩_阅读 164评论 0 0
  • 简介 Azure 托管磁盘,是指将虚拟机使用的虚拟磁盘文件(VHD)和存储账号交由 Azure 来规划和控制的服务...
    ITknight阅读 428评论 0 0