加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

UI类 - UIWebView解析

(2013-04-22 13:20:36)
标签:

uiwebview

it

分类: Mac/IOS那些事
1.UIWebView
是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等

Loading demo中用到的UIActivityIndicatorView
实例提供轻型视图,这些视图显示一个标准的旋转进度轮。当使用这些视图时,最重要的一个关键词是小。20×20像素是大多数指示器样式获得最清楚显示效果的大小。只要稍大一点,指示器都会变得模糊。iphone提供了几种不同样式的UIActivityIndicatorView类。UIActivityIndicator- ViewStyleWhite和UIActivityIndicatorViewStyleGray是最简洁的

2.UIWebView的简单使用

CGRect bounds = [[UIScreen mainScreen]applicationFrame];
    webview = [[UIWebView alloc]initWithFrame:bounds];
    webview.scalesPageToFit=YES;
    [self.view addSubview:webview];
|--获取youku远程的
   NSURL *url = [NSURL URLWithString:@"http://www.youku.com"];
   NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    [webview loadRequest:urlRequest];
|--获取本地的资源  
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Default" ofType:@"png"]];
    NSURLRequest *localRequest = [NSURLRequest requestWithURL:url];
    [webview loadRequest:localRequest];
3.添加loading ..状态的demo
|--UIWebViewViewController.h
#import

@interface UIWebViewViewController : UIViewController

{
    UIWebView * WebView;
    UIActivityIndicatorView *activityIndicator;
}
@property (nonatomic,retain) UIWebView *WebView;
@property (nonatomic,retain) UIActivityIndicatorView *activityIndicator;
-(void)webViewDidStartLoad:(UIWebView *)webView;
@end
|--UIWebViewViewController.m
#import "UIWebViewViewController.h"

@interface UIWebViewViewController ()

@end

@implementation UIWebViewViewController
@synthesize  WebView;
@synthesize activityIndicator;
- (void)viewDidLoad
{
    [super viewDidLoad];
    //创建UIWebView
    WebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)];
    [WebView setUserInteractionEnabled:NO];
    [WebView setBackgroundColor:[UIColor clearColor]];
    [WebView setDelegate:self];
    [WebView setOpaque:NO];//使网页透明
   
    NSString *path = @"http://www.youku.com";
    NSURL *url = [NSURL URLWithString:path];
    [WebView loadRequest:[NSURLRequest requestWithURL:url]];
   
    //创建UIActivityIndicatorView背底半透明View
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [view setTag:103];
    [view setBackgroundColor:[UIColor blackColor]];
    [view setAlpha:0.8];
    [self.view addSubview:view];
   
    activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];
    [activityIndicator setCenter:view.center];
    [activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];
    [view addSubview:activityIndicator];
    [self.view addSubview:WebView];
    [view release];
    [WebView release];
    //先加view到Selfview然后加activityIndicator到view上面 view是选中loading的半背景
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
//开始加载数据
- (void)webViewDidStartLoad:(UIWebView *)webView {
    [activityIndicator startAnimating];
}

//数据加载完
- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [activityIndicator stopAnimating];
    UIView *view = (UIView *)[self.view viewWithTag:103];
    [view removeFromSuperview];
}

@end
|--拓展 可以添加一个textfield 和 button来做一个简单的浏览器效果

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有