iOS开发之UIWebView
2015-06-17 13:27
387 查看
iOS开发之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用于按钮的点击事件。
设置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方法就行了:
代码:UIWebViewDemo.zip
作者:朱祁林 出处:http://zhuqil.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章推荐
- 【Android之隐藏状态栏、设置全屏、取消全屏】
- Android手机分辨率基础知识(DPI,DIP计算)
- Android MaterialDesign中颜色
- Android开发笔记—— layout_weight
- Android实战简易教程-第十九枪(SwipeRefreshLayout下拉刷新使用实例)
- Android 之布局
- iOS开发的一些奇巧淫技3
- iOS开发的一些奇巧淫技2
- iOS开发的一些奇巧淫技 1
- iOS开源库归纳
- iOS 图片大小压缩 图片尺寸处理
- Android开发教程--设置ImageView图片的显示比例
- 【u3d开发】Unity3d AudioSource如何监听播放完成并处理逻辑
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- PD915温度太高,通过设置BIOS降底CPU的核心电压来降温。
- AndroidManifest.xml——application
- [Unity][Heap sort]用Unity动态演示堆排序的过程(How Heap Sort Works)
- How to stop UIWebView bouncing vertically in phone
- unity3d物体移动
- android WebView清除缓存