WebView,嘿嘿,懒人专用,直接复制粘贴就能用,frame可调

来源:互联网 发布:smg淘宝店 编辑:程序博客网 时间:2024/05/18 00:14

在控制器的.h文件中

#import <UIKit/UIKit.h>

#import "FirstView.h"


@interface FirstViewController :UIViewController<UIWebViewDelegate> {

    UIWebView *web;

    UIActivityIndicatorView *activityIndicatorView;

    UIView *opaqueView;

}


@property (nonatomic,strong) FirstView *fv;


@end





在.m中,如下:

#import "FirstViewController.h"


@interface FirstViewController ()


@end


@implementation FirstViewController


- (void)loadView {

    [super loadView];

    self.fv = [[FirstViewalloc] initWithFrame:[UIScreenmainScreen].bounds];

    self.view =self.fv;

}


- (void)viewWillAppear:(BOOL)animated {

    self.tabBarController.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0.890green:0.471blue:0.118alpha:1.000];

    self.tabBarController.navigationController.title =@"空中夺宝";

}


- (void)viewDidLoad {

    [superviewDidLoad];

    web = [[UIWebViewalloc]initWithFrame:CGRectMake(0,0, self.view.frame.size.width,self.view.frame.size.height -40)];

    [websetUserInteractionEnabled:YES];//是否支持交互

    web.delegate=self;

    [websetOpaque:NO];  //opaque是不透明的意思

    [websetScalesPageToFit:YES];//自动缩放以适应屏幕

    [self.viewaddSubview:web];

    

    NSURL *url = [NSURLURLWithString:@"http://www.baidu.com"];

    [webloadRequest:[NSURLRequestrequestWithURL:url]];

    //2.加载本地文件资源

    /* NSURL *url = [NSURL fileURLWithPath:filePath];

     NSURLRequest *request = [NSURLRequest requestWithURL:url];

     [webView loadRequest:request];*/

    //3.读入一个HTML,直接写入一个HTML代码

    //NSString *htmlPath = [[[NSBundle mainBundle]bundlePath]stringByAppendingString:@"webapp/loadar.html"];

    //NSString *htmlString = [NSString stringWithContentsOfURL:htmlPath encoding:NSUTF8StringEncoding error:NULL];

    //[webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:htmlPath]];

    

    opaqueView = [[UIViewalloc]initWithFrame:[UIScreenmainScreen].bounds];

    activityIndicatorView = [[UIActivityIndicatorViewalloc]initWithFrame:[UIScreenmainScreen].bounds];

    [activityIndicatorViewsetCenter:opaqueView.center];

    [activityIndicatorViewsetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];

    [opaqueViewsetBackgroundColor:[UIColorblackColor]];

    [opaqueView setAlpha:0.6];

    

    [self.viewaddSubview:opaqueView];

    [opaqueView addSubview:activityIndicatorView];

    // Do any additional setup after loading the view.

}



-(void)webViewDidStartLoad:(UIWebView *)webView{

    [activityIndicatorViewstartAnimating];

    opaqueView.hidden =NO;

}


-(void)webViewDidFinishLoad:(UIWebView *)webView{

    [activityIndicatorViewstartAnimating];

    opaqueView.hidden =YES;

}


//UIWebView如何判断 HTTP 404等错误

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

    NSURL *url = [NSURLURLWithString:@"http://www.baidu.com"];

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;

    if ((([httpResponse statusCode]/100) == 2)) {

        // self.earthquakeData = [NSMutableData data];

        [UIApplicationsharedApplication].networkActivityIndicatorVisible =YES;

        

        [ webloadRequest:[ NSURLRequestrequestWithURL: url]];

        web.delegate =self;

    } else {

        NSDictionary *userInfo = [NSDictionarydictionaryWithObject:

                                  NSLocalizedString(@"HTTP Error",

                                                    @"Error message displayed when receving a connection error.")

                                                             forKey:NSLocalizedDescriptionKey];

        NSError *error = [NSErrorerrorWithDomain:@"HTTP"code:[httpResponse statusCode] userInfo:userInfo];

        

        if ([error code] == 404) {

//            NSLog(@"xx");

            web.hidden =YES;

        }

        

    }



    // Do any additional setup after loading the view.

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


/*

#pragma mark - Navigation


// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].

    // Pass the selected object to the new view controller.

}

*/


@end





 运行吧,是不是成功了!~~



0 0