UIKit框架-高级控件Swift版本: 10.UIWebView方法属性详解

UIKit框架-高级控件Swift版本: 10.UIWebView方法属性详解,第1张

概述前面我们已经讲解完了 UINavigationController 的一些常用属性以及方法, 现在让我们来看看一个关于网络的 UIWebView. 1.UIWebView的常用属性 // 1.设置 UIWebView 的代理对象var delegate: UIWebViewDelegate?// 2.获取 UIWebView 的 UIScrollView 属性var scrollView:

前面我们已经讲解完了 UINavigationController 的一些常用属性以及方法,现在让我们来看看一个关于网络的 UIWebVIEw.

1.UIWebVIEw的常用属性
// 1.设置 UIWebVIEw 的代理对象var delegate: uiwebviewdelegate?// 2.获取 UIWebVIEw 的 UIScrollVIEw 属性var scrollVIEw: UIScrollVIEw { get }// 3.获取 UIWebVIEw 的网络请求var request: NSURLRequest? { get }// 4.获取 UIWebVIEw 是否在接收数据的时候可以退后一步var canGoBack: Bool { get }// 5.获取 UIWebVIEw 是否在接收数据的时候可以前进一步var canGoForward: Bool { get }// 6.获取 UIWebVIEw 是否接受完数据var loading: Bool { get }// 7.设置 UIWebVIEw 接收的数据是否可以通过手势来调整页面内容大小var scalesPagetoFit: Bool// 8.设置 UIWebVIEw 接收的数据是什么类型var dataDetectorTypes: UIDataDetectorTypes// 9.设置 UIWebVIEw 内是否可以回放媒体var allowsInlinemediaplayback: Bool// 10.设置 UIWebVIEw 中的 HTML5 视频是否自动播放(默认是True)var mediaplaybackRequiresUserAction: Bool// 11.设置 UIWebVIEw 是否可以使用 Air 播放(默认是True)var mediaplaybackAllowsAirPlay: Bool// 12.设置 UIWebVIEw 是否使用同步加载(默认是False)var suppressesIncrementalRendering: Bool// 13.设置 UIWebVIEw 在点击视图或者元素时是否显示键盘(默认是True)var keyboarddisplayRequiresUserAction: Bool// 14.设置 UIWebVIEw 的分页模式var paginationMode: UIWebPaginationMode// 15.设置 UIWebVIEw 的分页打破模式var paginationBreakingMode: UIWebPaginationBreakingMode// 16.设置 UIWebVIEw 的分页长度var pageLength: CGfloat// 17.设置 UIWebVIEw 之间的页面宽度var gapBetweenPages: CGfloat// 18.获取 UIWebVIEw 的页面数量var pageCount: Int { get }

常用类型

// 1.获取 UIWebVIEw 的数据类型struct UIDataDetectorTypes : RawOptionSetType {    init(_ rawValue: UInt)    init(rawValue: UInt)    static var PhoneNumber: UIDataDetectorTypes { get }    static var link: UIDataDetectorTypes { get }    static var Address: UIDataDetectorTypes { get }    static var CalendarEvent: UIDataDetectorTypes { get }    static var None: UIDataDetectorTypes { get }    static var All: UIDataDetectorTypes { get }}// 2.设置 UIWebVIEw 的 Navigation 类型enum UIWebVIEwNavigationType : Int {    case linkClicked    case Formsubmitted    case BackForward    case Reload    case FormResubmitted    case Other}// 3.设置 UIWebVIEw 的分页样式enum UIWebPaginationMode : Int {    case Unpaginated    case leftToRight    case topToBottom    case BottomTotop    case RightToleft}// 4.设置 UIWebVIEw 打破分页样式的样式enum UIWebPaginationBreakingMode : Int {    case Page    case Column}
2.UIWebVIEw的代理方法
// 1.该方法是用来设置是否在 UIWebVIEw 加载之前发送一个请求    optional func webVIEw(webVIEw: UIWebVIEw,shouldStartLoaDWithRequest request: NSURLRequest,navigationType: UIWebVIEwNavigationType) -> Bool// 2.该方法是在 UIWebVIEw 在开发加载时调用    optional func webVIEwDIDStartLoad(webVIEw: UIWebVIEw)// 3.该方法是在 UIWebVIEw 加载完之后才调用    optional func webVIEwDIDFinishLoad(webVIEw: UIWebVIEw)// 4.该方法是在 UIWebVIEw 请求失败的时候调用    optional func webVIEw(webVIEw: UIWebVIEw,dIDFailLoaDWithError error: NSError)
3.代码示范

首先我们要使用storyBoard布局界面

关联控件

遵守代理协议

class VIEwController: UIVIEwController,uiwebviewdelegate {}

自定义UIWebVIEw

func myWebVIEw() {        // 1.获取 UIWebVIEw 的 UIScrollVIEw 属性        let webScroll = webVIEw.scrollVIEw        println("webScroll = \(webScroll)")        // 2.获取 UIWebVIEw 的 request 属性        let webRequest = webVIEw.request        println("webRequest = \(webRequest)")        // 3.获取 UIWebVIEw 是否在接收数据的时候可以退后一步        let webCanBack = webVIEw.canGoBack        println("webCanBack = \(webCanBack)")        // 4.获取 UIWebVIEw 是否在接收数据的时候可以前进一步        let webCanGo = webVIEw.canGoForward        println("webCanGo = \(webCanGo)")        // 5.获取 UIWebVIEw 是否接受完数据        let webLoading = webVIEw.loading        println("webLoading = \(webLoading)")        // 6.设置 UIWebVIEw 接收的数据是否可以通过手势来调整页面内容大小        webVIEw.scalesPagetoFit = true        // 7.设置 UIWebVIEw 接收到得数据是什么类型的        webVIEw.dataDetectorTypes = UIDataDetectorTypes.All        // 8.设置 UIWebVIEw 内是否可以回放媒体        webVIEw.allowsInlinemediaplayback = true        // 9.设置 UIWebVIEw 中的 HTML5 视频是否自动播放        webVIEw.mediaplaybackRequiresUserAction = true        // 10.设置 UIWebVIEw 是否可以使用 Air 播放        webVIEw.mediaplaybackAllowsAirPlay = true        // 11.设置 UIWebVIEw 是否使用同步加载(默认是False)        webVIEw.suppressesIncrementalRendering = false        // 12.设置 UIWebVIEw 在点击视图或者元素时是否显示键盘(默认是True)        webVIEw.keyboarddisplayRequiresUserAction = true        // 13.设置 UIWebVIEw 的分页模式        webVIEw.paginationMode = UIWebPaginationMode.RightToleft        // 14.设置 UIWebVIEw 的分页打破模式        webVIEw.paginationBreakingMode = UIWebPaginationBreakingMode.Column        // 15.设置 UIWebVIEw 的分页长度        webVIEw.pageLength = 400        // 16.设置 UIWebVIEw 每个分页之间的宽度        webVIEw.gapBetweenPages = 100        // 17.获取 UIWebVIEw 的分页数量        let webVIEwPageCount = webVIEw.pageCount        println(webVIEwPageCount)        // 18.设置 UIWebVIEw 的代理对象        webVIEw.delegate = self        // 19.发送网络请求        var url:NSURL = NSURL(string:"http://www.baIDu.com")!        var request:NSURLRequest = NSURLRequest(URL:url)        webVIEw.loadRequest(request)    }

实现代理方法

// 1.该方法是用来设置是否在 UIWebVIEw 加载之前发送一个请求    func webVIEw(webVIEw: UIWebVIEw,shouldStartLoaDWithRequest request: NSURLRequest,navigationType: UIWebVIEwNavigationType) -> Bool {        return true    }    // 2.该方法是在 UIWebVIEw 在开发加载时调用    func webVIEwDIDStartLoad(webVIEw: UIWebVIEw) {        println("开始加载")    }    // 3.该方法是在 UIWebVIEw 加载完之后才调用    func webVIEwDIDFinishLoad(webVIEw: UIWebVIEw) {        println("加载完成")    }    // 4.该方法是在 UIWebVIEw 请求失败的时候调用    func webVIEw(webVIEw: UIWebVIEw,dIDFailLoaDWithError error: NSError) {        println("加载失败")    }

在 VIEwDIDLoad 方法中实现

overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        self.myWebVIEw()    }

PS: UIWebVIEw 继承与 UIVIEw,并且遵守了 uiscrollviewdelegate 协议,所以它可以使用里面的方法和属性.

好了,这次我们就讲到这里,下次我们继续~~

总结

以上是内存溢出为你收集整理的UIKit框架-高级控件Swift版本: 10.UIWebView方法/属性详解全部内容,希望文章能够帮你解决UIKit框架-高级控件Swift版本: 10.UIWebView方法/属性详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1088036.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存