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

在控制器的.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 = [[FirstView alloc] initWithFrame:[UIScreen mainScreen].bounds];

    self.view = self.fv;

}


- (void)viewWillAppear:(BOOL)animated {

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

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

}


- (void)viewDidLoad {

    [super viewDidLoad];

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

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

    web.delegate=self;

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

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

    [self.view addSubview:web];

    

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

    [web loadRequest:[NSURLRequest requestWithURL: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 = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];

    activityIndicatorView = [[UIActivityIndicatorView alloc]initWithFrame:[UIScreen mainScreen].bounds];

    [activityIndicatorView setCenter:opaqueView.center];

    [activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];

    [opaqueView setBackgroundColor:[UIColor blackColor]];

    [opaqueView setAlpha:0.6];

    

    [self.view addSubview:opaqueView];

    [opaqueView addSubview:activityIndicatorView];

    // Do any additional setup after loading the view.

}



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

    [activityIndicatorView startAnimating];

    opaqueView.hidden = NO;

}


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

    [activityIndicatorView startAnimating];

    opaqueView.hidden = YES;

}


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

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

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

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;

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

        // self.earthquakeData = [NSMutableData data];

        [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

        

        [ web loadRequest:[ NSURLRequest requestWithURL: url]];

        web.delegate = self;

    } else {

        NSDictionary *userInfo = [NSDictionary dictionaryWithObject:

                                  NSLocalizedString(@"HTTP Error",

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

                                                             forKey:NSLocalizedDescriptionKey];

        NSError *error = [NSError errorWithDomain:@"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 {

    [super didReceiveMemoryWarning];

    // 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值