(转)UIWebView的基本用法,适合新手
UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图:
我们创建一个Window-based Application程序命名为:UIWebViewDemo
UIWebView的loadRequest可以用来加载一个url地址,它需要一个NSURLRequest参数。我们定义一个方法用来加载url。在UIWebViewDemoViewController中定义下面方法:
- (void)loadWebPageWithString:(NSString*)urlString { NSURL *url =[NSURL URLWithString:urlString]; NSLog(urlString); NSURLRequest *request =[NSURLRequest requestWithURL:url]; [webView loadRequest:request]; }
在界面上放置3个控件,一个textfield、一个button、一个uiwebview,布局如下:
在代码中定义相关的控件:webView用于展示网页、textField用于地址栏、activityIndicatorView用于加载的动画、buttonPress用于按钮的点击事件。
@interface UIWebViewDemoViewController :UIViewController<UIWebViewDelegate> {
IBOutlet UIWebView *webView;
IBOutlet UITextField *textField;
UIActivityIndicatorView *activityIndicatorView;
}
- ( IBAction )buttonPress:( id ) sender;
- ( void )loadWebPageWithString:( NSString *)urlString;
@end
|
使用IB关联他们。
设置UIWebView,初始化UIActivityIndicatorView:
- (void)viewDidLoad { [super viewDidLoad]; webView.scalesPageToFit =YES; webView.delegate=self; activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame : CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)] ; [activityIndicatorView setCenter: self.view.center] ; [activityIndicatorView setActivityIndicatorViewStyle: UIActivityIndicatorViewStyleWhite] ; [self.view addSubview : activityIndicatorView] ; [self buttonPress:nil];// Do any additional setup after loading the view from its nib.}
UIWebView主要有下面几个委托方法:
1、- (void)webViewDidStartLoad:(UIWebView *)webView;开始加载的时候执行该方法。
2、- (void)webViewDidFinishLoad:(UIWebView *)webView;加载完成的时候执行该方法。
3、- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加载出错的时候执行该方法。
我们可以将activityIndicatorView放置到前面两个委托方法中。
- (void)webViewDidStartLoad:(UIWebView *)webView { [activityIndicatorView startAnimating] ; }- (void)webViewDidFinishLoad:(UIWebView *)webView { [activityIndicatorView stopAnimating]; }
buttonPress方法很简单,调用我们开始定义好的loadWebPageWithString方法就行了:
- ( IBAction )buttonPress:( id ) sender
{
[textField resignFirstResponder];
[ self loadWebPageWithString:textField.text];
}
|
当请求页面出现错误的时候,我们给予提示:
- ( void )webView:(UIWebView *)webView didFailLoadWithError:( NSError *)error
{
UIAlertView *alterview = [[UIAlertView alloc] initWithTitle:@ "" message:[error localizedDescription] delegate: nil cancelButtonTitle: nil otherButtonTitles:@ "OK" , nil ];
[alterview show];
[alterview release];
}
|
本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397445.html,如需转载请自行联系原作者
(转)UIWebView的基本用法,适合新手相关推荐
- python秒表小项目_适合新手练习的几个python小项目
关于python练习的小项目,其实就是一些常用的模块的针对练习 一.找出电脑中遗忘的大文件 # !/usr/bin/env python # _*_ coding:utf-8 -*- import o ...
- python需要多大的硬盘_适合新手练习的几个python小项目
关于python练习的小项目,其实就是一些常用的模块的针对练习 一.找出电脑中遗忘的大文件 # !/usr/bin/env python # _*_ coding:utf-8 -*- import o ...
- 一个特别适合新手练习的Android小项目——每日一妹纸
原文链接 http://sparkyuan.me/ 转载请注明出处 介绍 当前版本V 1.2 刚开始学习Android的时候,主要就是学习了一些Activity的生命周期,各种View和Layout的 ...
- 靶机DC-8(详细渗透,适合新手渗透)
目录 靶机DC-8 (详细渗透,适合新手渗透) 0x01靶机描述 0x02环境搭建 1. 下载并导入靶机 2. 查看网络适配器 3. 启动靶机 0x03靶机渗透 一. 信息收集 1. 主机发现 2. ...
- GitHub 上有哪些适合新手跟进的优质项目?(附地址)
作者 | 小G 来源 | 公众号GitHubDaily 从 2015 年至今,我们累计在 GitHub 上看了上万个开源项目,并一直关注着开源圈的动态,通过这样的习惯,使得我们挖掘出了不少优质的 Gi ...
- 交换机配置软件crt安装_非常详细的锐捷二层交换机配置教程,适合新手小白
笔者上一篇文章写了关于锐捷三层交换机配置教程,但是这只是核心的配置,还不能搭建一个完整的企业网络.那么这一篇就来讲一下锐捷的二层交换机配置,比起三层交换机的配置,二层交换机配置就非常简单了.同样,今天 ...
- MYSQL服务的极简免配置快绿色速安装法[适合新手和懒人]
强调:适合新手和懒人! mysql最快速安装方法(极简.免配置): 下载官方绿色压缩包,解压到某目录最好为英文),用管理员权限打开CMD,定位到mysqld.exe所在目录,直接运行 mysqld - ...
- python基础教程第二版和第三版哪个好-python基础教程 2版和3版哪个适合新手?!...
python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...
- python基础教程第三版和第二版选哪个-python基础教程 2版和3版哪个适合新手?!...
python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...
- python难不难学-超级适合新手学习的python教程,入门其实不难?
在互联网时代很多人都希望掌握一个与互联网相关的知识,比如Python的知识就非常重要,因为无论是操作新媒体平台还是去制作一些软件,我们都需要掌握一些Python的技巧,而且学习一些Python的知识, ...
最新文章
- 助力视障人士,微软等公司捐赠首批AI有声内容
- mysql 重要监控参数_mysql 的重要参数,监控需要
- 我创意很大,玩转《猫和老鼠》手游,瓜分40万大奖
- 函数指针 指针函数
- Comptia Strata认证考点相关情况【2018.06.05更新】
- python代码示例-Python3 实例
- JAVA分页查询实现
- PHP爬虫微博某个话题的所有内容,GitHub - wansho/sina_weibo_crawl: 爬取新浪微博某一话题的数据,可以替代微博搜索接口...
- PHP 判断一个数是否是质数
- LibXL 算法分析(附注册机)
- win7(64位)+vs2010+orge1.8.1
- try 和 catch 用法
- SpringBoot 打成的 jar 包和普通的 jar 包有什么区别
- 【学习笔记】汇编:关于CMP的使用实例
- gom引擎和java,GOM和GEE引擎小心!最新漏洞独家首发公布,请各大GM注意了
- 如何写好状态机?跑马灯/流水灯Verilog HDL实现
- Microsoft SQL Server 图书管理数据库的建立
- web前端大作业--响应式风景旅游网页设计(国庆旅游主题-HTML+CSS+JavaScript)实现
- sql 数据库显示 正在恢复
- [深度学习-NPL]ELMO、BERT、GPT学习与总结