zoukankan      html  css  js  c++  java
  • iOS9 系统分享调用(UIActivityViewController)

    昨天有网友说我写的那段系统分享代码在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)
                }
            }
        }
  • 相关阅读:
    虚拟化、云计算与超融合的简单总结
    期货量化总结与思考
    易盛内外通用版交易API转websocket
    门诊叫号系统系列-1.语音叫号 .net c#
    六线顺上黑马选股和切割线选股法该如何操作?
    我的总结--强势股的短线战法精髓
    MACD头肩顶/底 = 驱动五浪
    有效突破的三三原则
    5日均线--攻击线
    10日均线--操盘线
  • 原文地址:https://www.cnblogs.com/crash-wu/p/4950382.html
Copyright © 2011-2022 走看看