iOS开发:SFSafariViewController的用法

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左上角按钮的样式

左上角按钮的样式 SFSafariViewControllerDismissButtonStyle;

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

2初始化SFSafariViewController。

初始化的例子

3控制器初始化时的配置

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

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

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

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

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

4背景色

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

进度条的颜色

5左上角 按钮的属性

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

SFSafariViewControllerDismissButtonStyleDone。

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

SFSafariViewControllerDelegate

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

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

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

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

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章