///系统分享类型
public enum SystemShareType {
///分享图片
case shareImage(UIImage)
///分享链接
case shareUrl(URL)
///分享带标题链接
case shareTitleUrl(String,URL)
///分享带标题图片链接
case shareTitleImageUrl(String,UIImage,URL)
///分享多张图片最多九张
case shareMoreImages([UIImage])
}
///系统分享
public func XlbSystemShare(_ shareType:SystemShareType){
var arrayItems:[Any] = []
var excludedActivityTypes:[UIActivity.ActivityType] = []
switch shareType {
case let .shareImage(image):
arrayItems.append(image.jpegData(compressionQuality: 1.0) as Any)
excludedActivityTypes = [.message,.mail,.copyToPasteboard,.addToReadingList]
break
case let .shareUrl(url):
arrayItems.append(url)
excludedActivityTypes = [.message,.mail,.addToReadingList,.saveToCameraRoll]
break
case let .shareTitleUrl(title, url):
arrayItems.append(title)
arrayItems.append(url)
excludedActivityTypes = [.message,.mail,.addToReadingList,.saveToCameraRoll]
break
case let .shareTitleImageUrl(title, image, url):
excludedActivityTypes = [.message,.mail,.addToReadingList,.saveToCameraRoll]
arrayItems.append(title)
arrayItems.append(image.jpegData(compressionQuality: 1.0) as Any)
arrayItems.append(url)
break
case let .shareMoreImages(images):
excludedActivityTypes = [.message,.mail,.copyToPasteboard,.addToReadingList,.saveToCameraRoll]
for (index,image) in images.enumerated() {
if images == nil {
continue
}
if index < 9 {
arrayItems.append(image.jpegData(compressionQuality: 1.0) as Any)
} else {
break
}
}
break
}
excludedActivityTypes.append(.assignToContact)
let activityController = UIActivityViewController(activityItems: arrayItems, applicationActivities: nil)
activityController.excludedActivityTypes = excludedActivityTypes
if let window = UIApplication.shared.keyWindow, let rootViewController = window.rootViewController {
activityController.popoverPresentationController?.sourceView = window
activityController.popoverPresentationController?.sourceRect = CGRect(origin: CGPoint(x: window.bounds.width / 2.0, y: window.bounds.size.height - 1.0), size: CGSize(width: 1.0, height: 1.0))
activityController.modalPresentationStyle = .fullScreen
rootViewController.present(activityController, animated: true, completion: nil)
}
}
iOS 系统分享-不同内容
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在使用系统集成的时候,分享图片到微信或QQ等平台,报错不支持该类型的内容 在分享的时候需要把UIimage格式的图...
- 如需转载请评论或简信,并注明出处,未经允许不得转载 前言 最近在做一个需求,一个html页面需要生成一个二维码图片...
- 调用系统分享方式,分享到Facebook时,点击按钮 无反应... 做开发的时候,我的手机(港版)是正常的;测试版...