博客> iOS开发:SFSafariViewController的用法
iOS开发:SFSafariViewController的用法
2019-10-23 11:17 评论:0 阅读:644 狂奔的蜗牛102
SFSafariViewController 浏览web网页 打开Safari相似浏览效果的网页

SFSafariViewController简介

SFSafariViewController(API_AVAILABLE(ios(9.0)))是iOS_9.0之后推出的一种视图控制器,继承与

UIViewController,用于在为浏览web提供可见标准接口的对象,可以打开Safari相似浏览效果的网页。通俗的理解

就是器功能类似于 WKWebView加载web页,不用跳转到Safari,就有了Safari浏览器完全功能。

SFSafariViewController视图控制器包括Safari的一些功能,如阅读器、自动填充、欺诈网站检测和内容拦截。在

iOS9和iOS10中,它与Safari共享cookie和其他网站数据。用户与SFSafariViewController的活动和交互对您的应

用程序不可见,应用程序无法访问自动填充数据、浏览历史记录或网站数据。您不需要在应用程序和Safari之间

保护数据。如果你想在iOS 11或更高版本的应用程序和Safari之间共享数据,那么用户只需登录一次就可以了,

使用SFAuthenticationSession。

需要注意:

根据App Store Review Guidelines(App Store审查指南),这个视图控制器必须用于向用户可见地呈现信息;控

制器不得被其他视图或图层隐藏或遮挡。此外,未经用户知情和同意,应用程序不得使用

SFSafariViewController跟踪用户。

如何选择用哪个控件展示web:

如果你的应用程序允许用户在互联网上任何地方查看web网站,使用SFSafariViewController类。如果您的应用

程序定制、交互或控制web内容的显示,请使用WKWebView类。iOS_8.0之后苹果推出WKWebView来代替

UIWebView,所以UIWebView不在讨论。

属性及其方法

1左上角按钮的样式  左上角按钮的样式.png

左上角按钮的样式 SFSafariViewControllerDismissButtonStyle;

特别注意,这个枚举是在iOS_11.0之后的方法

2初始化SFSafariViewController。

 初始化并传入url.png

初始化的例子

 初始化的例子.png

3控制器初始化时的配置

 副本配置.png

控制器初始化时的配置,这个属性包括俩个:

  • BOOL entersReaderIfAvailable :是否使用阅读器功能。如想要显示的是 Wikipedia 的內容,要使用的是阅读

器( Reader )的功能。阅读器是 Safari 中一個很方便的功能,可以从网站截取并显示重要的內容。

  • BOOL barCollapsingEnabled:当用户滚动web内容时,指示SFSafariViewController是否应启用导航栏的折叠

和底部工具栏的隐藏,默认是YES。

4背景色

 bar的颜色.png

SFSafariViewController上部和底部bar的背景颜色。

进度条的颜色

 进度条的颜色.png

5左上角 按钮的属性

 做上角按钮类型.png

在导航栏中用来关闭SFSafariViewController的解散按钮的样式。默认值是

SFSafariViewControllerDismissButtonStyleDone。

有三种,以枚举的形式罗列出来,具体请看本文第一张图片所示。

SFSafariViewControllerDelegate

展示一般的web页,下面俩个方法基本就够用了。

 safariViewControllerDidFinish.png

当用户单击导航栏左边的按钮调用委托回调,在这个调用中,视图控制器被销毁。|

 2458EED2-8BFB-45D1-9FDD-46912818316A.png

当SFSafariViewController完成加载传递给初始化器的URL时,将调用此方法。它不会在相同的

SFSafariViewController实例中调用任何后续页面加载。

收藏
1
sina weixin mail 回到顶部