加载网页——iOS学习连载28
2015-09-08 08:36
337 查看
- (instancetype)initWithNibName:(NSString
*)nibNameOrNil bundle:(NSBundle
*)nibBundleOrNil
{
self = [super
initWithNibName:nibNameOrNil
bundle:nibBundleOrNil];
if(self)
{
self.hidesBottomBarWhenPushed
=
YES;
}
return
self;
}
- (void)viewDidLoad {
[super
viewDidLoad];
//新建网页视图
webView = [[UIWebView
alloc]
initWithFrame:self.view.bounds];
//网页视图自适应屏幕尺寸
webView.scalesPageToFit
=
YES;
//设置代理
webView.delegate
=
self;
// //加载百度网页
// //创建request对象
// NSMutableURLRequest *mRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
//
// //网页控件加载一个网络请求
// [webView loadRequest:mRequest];
[self.view
addSubview:webView];
//初始化风火轮
UIActivityIndicatorView *activity = [[UIActivityIndicatorView
alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
UIBarButtonItem *rightBtn = [[UIBarButtonItem
alloc]
initWithCustomView:activity];
self.navigationItem.rightBarButtonItem
= rightBtn;
[self
_loadData];
}
//加载本地html网页
- (void)_loadData
{
NSString *filePath = [[NSBundle
mainBundle]
pathForResource:@"news"
ofType:@"html"];
NSError *error =
nil;
NSString *str = [NSString
stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:&error];
NSDictionary *dic = [DataServiece
requestData:news_detail];
NSString *title = [dic
objectForKey:@"title"];
NSString *source = [dic
objectForKey:@"source"];
NSString *time = [dic
objectForKey:@"time"];
NSString *content = [dic
objectForKey:@"content"];
NSString *author = [dic
objectForKey:@"author"];
NSString *htmlStr = [NSString
stringWithFormat:str,title,source,time,content,author];
[webView
loadHTMLString:htmlStr
baseURL:nil];
}
#pragma mark -UIWebViewDelegate
//将要加载某个请求
- (BOOL)webView:(UIWebView
*)webView shouldStartLoadWithRequest:(NSURLRequest
*)request navigationType:(UIWebViewNavigationType)navigationType
{
return
YES;
}
//已经开始加载
- (void)webViewDidStartLoad:(UIWebView
*)webView
{
UIActivityIndicatorView *activity = (UIActivityIndicatorView
*)self.navigationItem.rightBarButtonItem.customView;
[activity
startAnimating];
}
//结束加载
- (void)webViewDidFinishLoad:(UIWebView
*)webView
{
UIActivityIndicatorView *activity = (UIActivityIndicatorView
*)self.navigationItem.rightBarButtonItem.customView;
[activity
stopAnimating];
}
//加载出错
- (void)webView:(UIWebView
*)webView didFailLoadWithError:(NSError
*)error
{
}
*)nibNameOrNil bundle:(NSBundle
*)nibBundleOrNil
{
self = [super
initWithNibName:nibNameOrNil
bundle:nibBundleOrNil];
if(self)
{
self.hidesBottomBarWhenPushed
=
YES;
}
return
self;
}
- (void)viewDidLoad {
[super
viewDidLoad];
//新建网页视图
webView = [[UIWebView
alloc]
initWithFrame:self.view.bounds];
//网页视图自适应屏幕尺寸
webView.scalesPageToFit
=
YES;
//设置代理
webView.delegate
=
self;
// //加载百度网页
// //创建request对象
// NSMutableURLRequest *mRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
//
// //网页控件加载一个网络请求
// [webView loadRequest:mRequest];
[self.view
addSubview:webView];
//初始化风火轮
UIActivityIndicatorView *activity = [[UIActivityIndicatorView
alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
UIBarButtonItem *rightBtn = [[UIBarButtonItem
alloc]
initWithCustomView:activity];
self.navigationItem.rightBarButtonItem
= rightBtn;
[self
_loadData];
}
//加载本地html网页
- (void)_loadData
{
NSString *filePath = [[NSBundle
mainBundle]
pathForResource:@"news"
ofType:@"html"];
NSError *error =
nil;
NSString *str = [NSString
stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:&error];
NSDictionary *dic = [DataServiece
requestData:news_detail];
NSString *title = [dic
objectForKey:@"title"];
NSString *source = [dic
objectForKey:@"source"];
NSString *time = [dic
objectForKey:@"time"];
NSString *content = [dic
objectForKey:@"content"];
NSString *author = [dic
objectForKey:@"author"];
NSString *htmlStr = [NSString
stringWithFormat:str,title,source,time,content,author];
[webView
loadHTMLString:htmlStr
baseURL:nil];
}
#pragma mark -UIWebViewDelegate
//将要加载某个请求
- (BOOL)webView:(UIWebView
*)webView shouldStartLoadWithRequest:(NSURLRequest
*)request navigationType:(UIWebViewNavigationType)navigationType
{
return
YES;
}
//已经开始加载
- (void)webViewDidStartLoad:(UIWebView
*)webView
{
UIActivityIndicatorView *activity = (UIActivityIndicatorView
*)self.navigationItem.rightBarButtonItem.customView;
[activity
startAnimating];
}
//结束加载
- (void)webViewDidFinishLoad:(UIWebView
*)webView
{
UIActivityIndicatorView *activity = (UIActivityIndicatorView
*)self.navigationItem.rightBarButtonItem.customView;
[activity
stopAnimating];
}
//加载出错
- (void)webView:(UIWebView
*)webView didFailLoadWithError:(NSError
*)error
{
}
相关文章推荐
- iOS 集成银联支付
- 【读书笔记】iOS-引用计数
- 【读书笔记】iOS-引用计数
- iOS远程推送之获取deviceToken
- IOS 开发技巧,小细节,注意事项
- iOS Cocoa编码规范
- iOS开发系列课程(07) --- 分栏视图控制器
- iOS开发系列课程(06) --- 常用控件介绍
- iOS---iPad开发及iPad特有的特技
- ios8绘图方法小记touchesBegan&touchesMoved
- iOS开发 - 汉字转拼音
- IOS 中的页面跳转(navigaitonController)+带自动返回
- iOS开发:Delegate、Notification和KVO的联系与区别
- iOS开发:MVC(模型-视图-控制器)详解
- iOS编程:学习篇(十二)
- iOS数据持久化
- 新浪微博自定制TabBar
- IOS己见之NSDate
- iOS学习篇章3--SEL与@selector
- iOS 笔记六: 协议 Protocols