你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS9 體系分享挪用之UIActivityViewController

iOS9 體系分享挪用之UIActivityViewController

編輯:IOS開發綜合

UIActivityViewController類是一個尺度的view controller,通個應用這個controller,你的運用法式便可以供給各類辦事。

體系供給了一些通用的尺度辦事,例如拷貝內容至粘貼板、宣布一個通知布告至社交網、經由過程email或許SMS發送內容。

運用法式異樣可以自界說辦事。(我的微信分享就屬於自界說辦事, 以後將會寫一篇教程引見)

你的運用法式擔任設置裝備擺設、展示息爭雇這個view controller。

viewcontroller的設置裝備擺設觸及到viewcontroller須要用到的詳細的數據對象。(也能夠指定自界說辦事列表,讓運用法式支撐這些辦事)。

在展示view controller時,必需依據以後的裝備類型,應用恰當的辦法。在iPad上,必需經由過程popover來展示view controller。在iPhone和iPodtouch上,必需以模態的方法展示。

昨天有網友說我寫的那段體系分享代碼在IOS9上有warning,看下了本來IOS8以後UIPopoverController被放棄了。新增長的UIPopoverPresentationController在掌握PopView上更簡略好用。

這裡寫圖片描述

上面是我修正以後的代碼:

1. 在app內以子視圖方法翻開其他app預覽,僅支撐6.0以上

openAppWithIdentifier(appId: String)

2. 分享文字圖片信息,ipad上會以sourceView為核心彈出選擇視圖

share(textToShare: String, url: String, image: UIImage, sourceView: UIView)
/// 在app內以子視圖方法翻開其他app預覽,僅支撐6.0以上
 private func openAppWithIdentifier(appId: String) {
 if let _ = NSClassFromString("SKStoreProductViewController") {
  let storeProductViewController = SKStoreProductViewController()
  storeProductViewController.delegate = self
  let dict = NSDictionary(object:appId, forKey:SKStoreProductParameterITunesItemIdentifier) as! [String : AnyObject]
  storeProductViewController.loadProductWithParameters(dict, completionBlock: { (result, error) -> Void in
//  self.presentViewController(storeProductViewController, animated: true, completion: nil)
  })
  self.presentViewController(storeProductViewController, animated: true, completion: nil)
 }else {
  UIApplication.sharedApplication().openURL(NSURL(string: "itms-apps://itunes.apple.com/app/id\(appId)")!)
 }
 }
 /// 分享文字圖片信息,ipad上會以sourceView為核心彈出選擇視圖
 private func share(textToShare: String, url: String, image: UIImage, sourceView: UIView) {
 let objectsToShare = [textToShare, url, image]
 let activityViewController = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
 if UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Phone {
  self.presentViewController(activityViewController, animated: true, completion: nil)
 }else {
  let popover = activityViewController.popoverPresentationController
  if (popover != nil){
  popover?.sourceView = sourceView
  popover?.sourceRect = sourceView.frame
  popover?.permittedArrowDirections = UIPopoverArrowDirection.Any
  self.presentViewController(activityViewController, animated: true, completion: nil)
  }
 }
 }

【iOS9 體系分享挪用之UIActivityViewController】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved