//  ViewController.m
//  12-掌握-webView
#import "ViewController.h"@interface ViewController () <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *backItem;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *forward;
@end@implementation ViewController
- (IBAction)back:(id)sender {[self.webView goBack];
}- (IBAction)forward:(id)sender {[self.webView goForward];
}- (IBAction)refresh:(id)sender {[self.webView reload];
}- (void)viewDidLoad {[super viewDidLoad];// Native(OC+Swift) + HTML5
    self.webView.delegate = self;[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
}#pragma mark - <UIWebViewDelegate>
- (void)webViewDidFinishLoad:(UIWebView *)webView
{NSLog(@"%s", __func__);self.backItem.enabled = webView.canGoBack;self.forward.enabled = webView.canGoForward;
}- (void)webViewDidStartLoad:(UIWebView *)webView
{NSLog(@"%s", __func__);
}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{NSLog(@"%s", __func__);  self.backItem.enabled = webView.canGoBack;self.forward.enabled = webView.canGoForward;
}@end

01-掌握-webView

//  ViewController.m
//  12-掌握-webView
#import "ViewController.h"@interface ViewController () <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *backItem;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *forward;
@end@implementation ViewController
- (IBAction)back:(id)sender {[self.webView goBack];
}- (IBAction)forward:(id)sender {[self.webView goForward];
}- (IBAction)refresh:(id)sender {[self.webView reload];
}- (void)viewDidLoad {[super viewDidLoad];// Native(OC+Swift) + HTML5
    self.webView.delegate = self;// 网页内容缩小到适应整个设备屏幕
//    self.webView.scalesPageToFit = YES;// 检测各种特殊的字符串:比如电话、网站 self.webView.dataDetectorTypes = UIDataDetectorTypeAll;[self.webView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]]]; //去bundle里面找html页面//    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.520it.com"]]];//    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:@"/Users/xiaomage/Desktop/test.pptx"]]];//    [self.webView loadData:<#(NSData *)#> MIMEType:<#(NSString *)#> textEncodingName:<#(NSString *)#> baseURL:<#(NSURL *)#>];//    [self.webView loadHTMLString:@"<html><body><div style=\"color: red; font-size:10px; border:1px solid blue;\">哈哈哈哈哈</div></body></html>" baseURL:nil];
    self.webView.scrollView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
}#pragma mark - <UIWebViewDelegate>
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//    NSLog(@"%s", __func__);
    self.backItem.enabled = webView.canGoBack;self.forward.enabled = webView.canGoForward;
}- (void)webViewDidStartLoad:(UIWebView *)webView
{
//    NSLog(@"%s", __func__);
}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
//    NSLog(@"%s", __func__);
    self.backItem.enabled = webView.canGoBack;self.forward.enabled = webView.canGoForward;
}/*** 每当webView即将发送一个请求之前,都会调用这个方法* 返回YES:允许加载这个请求* 返回NO:禁止加载这个请求*/
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
//    NSLog(@"%@", request.URL);if ([request.URL.absoluteString containsString:@"life"]) return NO;// JS  JavaScriptreturn YES;
}@end

转载于:https://www.cnblogs.com/laugh/p/6612489.html

源码0604-12-掌握-webView相关推荐

  1. 最新蓝奏云软件库系统源码分享下载+非WebView

    正文: 蓝奏云软件库,添加分类填入蓝奏云文件夹分享链接,链接密码即可. 非webview为接口式获取文件列表,不存储本地,只用在蓝奏云上传文件即可. 后端 thinkphp,前端 uniapp(我测试 ...

  2. selenium源码通读·12 |webdriver/remote分析

    ·12 |webdriver/remote分析 1 源码路径 2 功能说明 3 部分功能详解 3.1 command.py 3.2 errorhandler.py 1 源码路径 selenium/we ...

  3. Hadoop源码分析(12)

    Hadoop源码分析(12) 1. journalnode客户端   在文档(11)中分析了初始化editlog的方法.在初始化之前其会根据集 群的配置状态选择不同的方式来进行初始化.在HA状态下,其 ...

  4. tcp/ip 协议栈Linux内核源码分析12 udp套接字发送流程一

    内核版本:3.4.39 因为过往的开发工作中既包括内核网络层模块的开发,又包括应用层程序的开发,所以对于网络数据的通信有那么一些了解.但是对于网络通信过程中,内核和应用层之间接口是如何运作的不是很清楚 ...

  5. Jdk1.6 JUC源码解析(12)-ArrayBlockingQueue

    功能简介: ArrayBlockingQueue是一种基于数组实现的有界的阻塞队列.队列中的元素遵循先入先出(FIFO)的规则.新元素插入到队列的尾部,从队列头部取出元素. 和普通队列有所不同,该队列 ...

  6. red5源码分析---12

    red5源码分析-服务器处理视频数据 接着<red5源码分析-11>,本章假设客户端发来的是视频数据,下面就分析服务器如何处理这些数据的. 根据前面几章的分析,基于mina框架,数据到达服 ...

  7. PHP简洁小猫咪图床源码 带12个图床接口

    源码介绍 一款永久免费的图床程序,包含三楼图床.芥子图床.B站图床.QQ图床.百度图床.京东图床.58图床.头条图床.笔迹图床.本地图床.小猫咪图床.搜狗图床多种图床接口. 源码截图 特别说明:源码内 ...

  8. jpcsp源码解读12:本地码管理器与Compiler.xml

    jpcsp这个模拟器的优化手段实在让人汗颜. 之前说过,他把系统调用功能全部用本地码实现了,也就是在软件需要的时候,调用java语言的实现,而不是跳转到内存中相应位置去解释执行,或者对系统调用代码做动 ...

  9. elasticSearch6源码分析(12)DiscoveryModule

    1.DiscoveryModule概述 /*** A module for loading classes for node discovery.*/ 2.discovery The discover ...

  10. JDK源码(12)-Enum

    一.概述 Enum是所有Jav中枚举类的基类.详细的介绍在Java语言规范中有说明. 值得注意的是,java.util.EnumSet和java.util.EnumMap是Enum的两个高效实现,分别 ...

最新文章

  1. IOS中打开应用实现检查更新的功能
  2. 华为平板能运行python吗_我是如何使用华为平板的
  3. hdu 1798(几何问题)
  4. promise之我见
  5. Apache POI导出Excel
  6. 云图说|华为数据安全中心,助你保障云上数据安全!
  7. ubunto中常出现的问题
  8. Python Frozenset()
  9. Linux_free(buffer与cache区别)
  10. Error: Could not open connection to jdbc:hive2://master:10000: java.net.ConnectException: Connection
  11. “office for mac”模板文件的目录
  12. 计算机coreldraw课程PPT,[计算机]CorelDRAW_12基础教程.ppt
  13. 极域电子教室忘记密码或无法卸载怎么办
  14. 怎么用计算机算钱,亚马逊fba费用计算器要怎么使用?
  15. 数字功放芯片的工作原理以及应用领域
  16. 如何启用计算机睡眠功能,台式机睡眠如何开启
  17. Vue2源码学习笔记 - 12.响应式原理—Dep 类详解
  18. hihocoder 1251 Today Is a Rainy Day 2015北京区域赛C
  19. pc端支付宝扫码支付
  20. 现代控制理论(机器人或人工智能方向)补充资料:Python Control Systems Library + Modern Robotics

热门文章

  1. kettle spoon 数据同步
  2. matplotlib入门之plt.plot折线图跟常用基本函数
  3. 使用NG-ZORRO(Angular 组件库)中Table组件,通过columnTable属性固定列,结果每行数据内容穿透了两遍的固定列;鼠标滑过该条数据时,两侧固定列的背景色不跟着改变~
  4. 河北专接本微机原理知识点01
  5. SIFT、SURF等关键点特征提取算法代码
  6. EMQ X 基于国密算法的物联网安全接入解决方案
  7. 细谈 Apple 处理器性能如何,苹果M1芯片
  8. 无参考图像单张视频图像噪声检测C++ opencv
  9. Lrc歌词格式的简介
  10. HPL+Openmpi+GOTOBLAS2