WKWebView 中的 IOS 10 链接预览 API

来源:开源中国社区 作者:oschina
  

多种触摸手势一直是iPhone使用体验必不可少的一部分,然而双指捏合和点击技术已成为历史。去年,iPhone 6S引入了一项全新的3D Touch多点触摸体验。支持3D Touch的显示器能够感知到用户触摸屏幕的力度。由于采用了这项技术,在其他内容中,iOS获得了新的Peek and Pop体验,让使用者可以预览Safari中的内容。我非常高兴的宣布一些 WKWebView开发者可以使用的更新。

Peek and Pop

WebKit支持  Peek and Pop作为预览链接的最简单的方式。使用iOS 10 SDK开发的App默认开启了Peek and Pop链接预览,但这并不是一个新特性;从iOS 9开始,在支持3D Touch的设备中使用WKWebView的allowLinkPreview属性,WKWebView客户端就可以选择基于Peek的链接预览。当allowLinkPreview属性设为true时,使用者可以轻轻的按下链接来查看,然后在app上的另一个视图里加载链接,同时app在背景中模糊显示。

如果使用者用力按下链接,链接会在Safari中弹出。

在 iOS 10 中自定义Peek and Pop

如果你有像WKPedia这样的应用程序,并寻求能提供更好的用户体验,你可以开始使用我们在iOS 10里面添加的新的API!在新的API中,只要用户在WKWebView中使用3D Touch查看和弹出链接就可以显示自定义视图控制器。这个API是由WKUIDelegate协议中的三个委托方法组成。

optional func webView(_ webView: WKWebView,  shouldPreviewElement elementInfo: WKPreviewElementInfo) -> Bool
optional func webView(_ webView: WKWebView,  previewingViewControllerForElement elementInfo: WKPreviewElementInfo,
  defaultActions previewActions: [WKPreviewActionItem]) -> UIViewController?
optional func webView(_ webView: WKWebView,  commitPreviewingViewController previewingViewController: UIViewController)

第一个方法,当用户触摸元素时webView(_:shouldPreviewElement:)立即被调用。返回false将完全禁用该元素的预览,并且阻止其他方法的调用。返回true将提供一个自定义视图控制的机会,前提是用户触摸时有足够的力度来启动查看。

本文标题:WKWebView 中的 IOS 10 链接预览 API
本文地址:
https://www.oschina.net/translate/ios-10-link-preview-api-in-wkwebview
参与翻译:
shirleywong, Tony

英文原文:iOS 10 Link Preview API in WKWebView


时间:2016-10-27 08:20 来源:开源中国社区 作者:oschina 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量