1.UIWebView的内容控制的属性/方法列表

loading属性               确认当前页面是否在读入中

canGoForward属性   确认goForward  方法是否可运行,可运行为yes;

canGoBack属性        确认goBack  方法是否可运行,可运行为yes。

goBack方法              
返回前一个页面

goForword方法          进入下一个页面

reload方法                
又一次读入当前页

stopLoading方法       中止当前页的读入

2.webViewController.h

@interface webViewController : UIViewController<UIWebViewDelegate,UINavigationControllerDelegate,UINavigationBarDelegate>
{
UIWebView *_webView;
} @property(nonatomic,strong)UIBarButtonItem *reloadButton;
@property(nonatomic,strong)UIBarButtonItem *stopButton;
@property(nonatomic,strong)UIBarButtonItem *backButton;
@property(nonatomic,strong)UIBarButtonItem *forwardButton;
@end

webViewController.m

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationItem.title = @"UIWebView測试版";
_webView = [[UIWebView alloc]init];
_webView.delegate = self;
_webView.frame = self.view.frame;
_webView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
_webView.scalesPageToFit = YES;
[self.view addSubview:_webView];
//工具条中追加按钮
_reloadButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(reloadDidPush)];
_stopButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemStop target:self action: @selector(stopDidPush)];
_backButton = [[UIBarButtonItem alloc]initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(backDidPush)];
_forwardButton = [[UIBarButtonItem alloc]initWithTitle:@"Forward" style:UIBarButtonItemStyleBordered target:self action:@selector(forwardDidPush)];
NSArray *buttons = [NSArray arrayWithObjects:_backButton,_forwardButton,_reloadButton,_stopButton, nil];
[self setToolbarItems:buttons animated:YES];
[self.navigationController setToolbarHidden:NO animated:YES]; }
-(void)reloadDidPush
{
[_webView reload];//又一次读入页面
}
-(void)stopDidPush
{
if(_webView.loading){
[_webView stopLoading];//读入停止
} }
-(void)backDidPush
{
if (_webView.canGoBack) {
[_webView goBack];//返回前一画面
}
}
-(void)forwardDidPush
{
if (_webView.canGoForward) {
[_webView goForward];//进入下一页面
} } -(void)updateControlEnabled
{
//统一更新指示按钮状态
[UIApplication sharedApplication].networkActivityIndicatorVisible = _webView.loading;
_stopButton.enabled = _webView.loading;
_backButton.enabled = _webView.canGoBack;
_forwardButton.enabled = _webView.canGoForward; }
-(void)viewDidAppear:(BOOL)animated {
//画面显示结果后读入web页面画面
[super viewDidAppear:animated];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
[_webView loadRequest:request];
[self updateControlEnabled];
}
-(void)viewWillDisappear:(BOOL)animated
{
//画面关闭时状态的活动指示器设置成off
[super viewWillDisappear:animated];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
} -(void)webViewDidStartLoad:(UIWebView *)webView{
[self updateControlEnabled];
} -(void)webViewDidFinishLoad:(UIWebView *)webView {
[self updateControlEnabled];
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
[self updateControlEnabled];
}

UIWebView页面的控制(二)的更多相关文章

  1. Java中的流程控制(二)

    关于Java程序的流程控制(二) 关于Java程序的流程控制(二) 3.switch选择语句 switch语句用于将一个表达式的值同许多其他值比较,并按比较结果选择下面该执行哪些语句. switch( ...

  2. Vue + Element UI 实现权限管理系统 前端篇(十三):页面权限控制

    权限控制方案 既然是后台权限管理系统,当然少不了权限控制啦,至于权限控制,前端方面当然就是对页面资源的访问和操作控制啦. 前端资源权限主要又分为两个部分,即导航菜单的查看权限和页面增删改操作按钮的操作 ...

  3. Vue页面权限控制和动态添加路由

    原文转自:点我 页面权限控制 页面权限控制是什么意思呢? 就是一个网站有不同的角色,比如管理员和普通用户,要求不同的角色能访问的页面是不一样的.如果一个页面,有角色越权访问,这时就得做出限制了. Vu ...

  4. 浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore

    本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)--requirejs + angular + a ...

  5. html5 touch事件实现触屏页面上下滑动(二)

    五一小长假哪都没去,睡了三天,今天晕晕沉沉的投入工作了,但还是做出了一点点效果 上周用html5的touch事件把简单的滑动做出来了,实现了持续页面上下滑动的效果,参考之前 的文章及代码html5 t ...

  6. Database(Mysql)发版控制二

    author:skate time:2014/08/18 Database(Mysql)发版控制 The Liquibase Tool related Database 一.Installation ...

  7. 织梦dedecms页面中增加二维码功能的实现方法

    本文介绍了在dedecms中增加二维码功能的实现方法,有时需要在dedecms页面增加二维码,方便手机用户访问,有需要的朋友参考下. 本节内容: dedecms中增加二维码功能   1.打开/incl ...

  8. 【后台管理系统】—— Ant Design Pro页面相关(二)

    一.弹框Modal表单 使用Form.create()包装得到一个含有this.props.form属性的CreatForm自组件 从页面主(父)组件获得props数据和propsMethod方法 r ...

  9. web页面背景色控制

    有一道题要实现输入rgb数值,实现更换页面背景色的功能,如下图所示: 答案: <html> <head> <script type="text/javascri ...

随机推荐

  1. Android之 内容提供器(2)——创建自己的内容提供器将数据共享出去

    创建自己的内容提供器非常简单,只需要新建一个类继承ContentProvider类,通过实现ContentProvider的增删改查的方法向内容提供器中增删数据. 1 ContentProvider简 ...

  2. ref和out的用法和区别。

    关于ref和out的用法和区别在网上已经有很多的解释,这里只不过是写下对于我而说比较容易理解的解释. ref和out都可以用来在函数中返回数据,类似于c++中指针. 参数 Ref Out 是否一定需要 ...

  3. Django 如何实现 如下 联表 JOIN 查询?

    SQL语句: select distinct a.device_hash, sum(b.cmn_merge_count) from (select distinct device_hash from ...

  4. MySQL笔记(一)之新建数据库和数据表

    创建数据库 CREATE DATABASE database_name 创建数据表 CREATE TABLE table_name ( 列1 数据类型, 列2 数据类型, 列3 数据类型, .... ...

  5. 如何配置FastReport.Net环境

    利用FastReport.Net工具箱中的EnvironmentSettings组件可以控制FastReport.Net的环境设置.把EnvironmentSettings组件放到窗体上,并使用下面的 ...

  6. NYOJ 298 点的变换 矩阵乘法

    http://acm.nyist.net/JudgeOnline/problem.php?pid=298 最好还是自己手推一下矩阵式子..不算太难..但是有一些小知识.... 首先当然是矩阵的细节.. ...

  7. java基础总结--equals与==

    equals 与 == 先上一段经典代码 public static void main(String[] args) { // TODO Auto-generated method stub int ...

  8. PAT甲级1095. Cars on Campus

    PAT甲级1095. Cars on Campus 题意: 浙江大学有6个校区和很多门.从每个门口,我们可以收集穿过大门的汽车的进/出时间和车牌号码.现在有了所有的信息,你应该在任何特定的时间点告诉在 ...

  9. HDU 4496 D-City (并查集,水题)

    D-City Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Subm ...

  10. Delphi TFileStream 打开模式与共享模式

    { TFileStream create mode } fmCreate = $FF00; { Create a file with the given name. If a file with th ...