SFSafariViewController

1 SFSafariViewController

SFSafariViewController用于在应用中快速继承Safari浏览器的界面而无需跳出当前应用。

1.1 Creating a Safari View Controller

/// 代理
weak public var delegate: SFSafariViewControllerDelegate?

/// 初始化SFSafariViewController
public convenience init(URL: NSURL)

 /// 初始化SFSafariViewController,entersReaderIfAvailable是否开启阅读模式
public init(URL: NSURL, entersReaderIfAvailable: Bool)

2 实战演练

接下来实现如下所示的效果

2.1 SFSafariViewController跳转

下面展示跳转的核心代码。

// MARK: - SFSafariViewController
@IBAction func onClickButton(sender: AnyObject) {
    guard let url = NSURL(string: "https://developer.apple.com/library/ios/documentation/SafariServices/Reference/SFSafariViewController_Ref/index.html") else {
        return
    }
    let vc = SFSafariViewController(URL: url, entersReaderIfAvailable: true)
    vc.delegate = self
    self.presentViewController(vc, animated: true, completion: nil)
}

2.2 实现SFSafariViewControllerDelegate

// MARK: - SFSafariViewControllerDelegate
// MARK: web页面加载完成
func safariViewController(controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) {
    print(__FUNCTION__)
    print(didLoadSuccessfully)
}

func safariViewController(controller: SFSafariViewController, activityItemsForURL URL: NSURL, title: String?) -> [UIActivity] {
    print(__FUNCTION__)
    print("\(URL)--\(title)")
    return [YJUIActivity()]
}

// MARK: 退出页面
func safariViewControllerDidFinish(controller: SFSafariViewController) {
    print(__FUNCTION__)
}

2.3 类YJUIActivity

定制一个简单的UIActivity

/// 共享按钮
private class YJUIActivity: UIActivity {

    private override func activityTitle() -> String? {
        return "阳君"
    }

}

效果图如下所示

 


Appendix

Sample Code

Swift

Safari Services Framework Reference

SFSafariViewController Class Reference

Revision History

时间描述
2016-01-21博文完成

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974/Blog

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值