webview的使用


#import <UIKit/UIKit.h>


@interface MainViewController :UIViewController<UIWebViewDelegate,UISearchBarDelegate>

{

    

   __weak IBOutletUISearchBar *searchBar;

   __weak IBOutletUIWebView *webView;

   UIActivityIndicatorView *activityIndicatorView;// 指示indicator

   UIView *opaqueView; // 不透明opaque

}


@end



/**

 *  //2.webview显示内容,高度自适应

 

 复制代码

 //webview显示简介内容

 UIWebView * webviewinfomationDetails = [[UIWebView alloc] initWithFrame:GRAPH_SIZE_INTRODUCETEXT];

 webviewinfomationDetails.backgroundColor = [UIColor clearColor];

 [webviewinfomationDetails loadHTMLString:remark baseURL:nil];

 [webviewinfomationDetails setUserInteractionEnabled:NO];

 [(UIScrollView *)[[webviewinfomationDetails subviews] objectAtIndex:0] setBounces:NO];

 [webviewinfomationDetails setScalesPageToFit:NO];     //yes:根据webview自适应,NO:根据内容自适应

 [webviewinfomationDetails setDelegate:self];

 [myScrollView addSubview:webviewinfomationDetails];

 [webviewinfomationDetails release];

 

 //另一种显示方式

 //定义WebView显示内容

 webviewinfomationDetails = [[UIWebView alloc] initWithFrame:GRAPH_SIZE_WEBVIEW];

 [webviewinfomationDetails setScalesPageToFit:NO];  //大小自适应

 NSString *path = [[NSBundle mainBundle] bundlePath];

 NSURL *base = [NSURL fileURLWithPath:path];

 [webviewinfomationDetails loadHTMLString:remark baseURL:base];//链接url

 [webviewinfomationDetails setUserInteractionEnabled:NO];//设置用户不可修改

 [informationDetailsScroll addSubview:webviewinfomationDetails];

 webviewinfomationDetails.delegate=self;

 [webviewinfomationDetails release];

 

 

 //webview委托   高度自适应

 -(void)webViewDidFinishLoad:(UIWebView *)webView

 {

 CGSize actualSize = [webView sizeThatFits:CGSizeZero];

 CGRect newFrame = webView.frame;

 newFrame.size.height = actualSize.height;

 webView.frame = newFrame;

 

 CGSize newsize=CGSizeMake(320, 356+webView.frame.size.height);

 myScrollView.contentSize=newsize;

 }

 */

#import "MainViewController.h"


@interface MainViewController ()

@end


@implementation MainViewController


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

   self = [superinitWithNibName:nibNameOrNil bundle:nibBundleOrNil];

   if (self) {

        // Custom initialization

    }

    return self;

}


- (void)viewDidLoad

{

    [superviewDidLoad];

    // Do any additional setup after loading the view from its nib.

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

    [webView setDelegate:self];// 委托

    [webViewsetOpaque:NO];// opaque为不透明的意思,这里是透明

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

    

    // 加载网页的方式

    //创建并加载远程网页(也可播放动态图片)

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

    [webView loadRequest:[NSURLRequestrequestWithURL:url]];

    //加载本地文件资源

    //    NSURL *url = [NSURL fileURLWithPath:filePath];  //filePath为文件路径

    //    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //    [webView loadRequest:request];

    // 下一步 读入一个HTML,直接写入一个HTML代码

    //    NSString *htmlPath = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"webapp/loader.html"];//相当于文件地址

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

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

    opaqueView =[[UIViewalloc] initWithFrame:[UIScreenmainScreen].bounds];// opaqueView需要在.h文件中声明作为UIActivityIndicatorView的容器view

    

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

    [activityIndicatorViewsetCenter:opaqueView.center];

    [activityIndicatorViewsetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];

    //颜色根据不同的界面自己调整

    [opaqueView setBackgroundColor:[UIColorblackColor]];

    [opaqueView setAlpha:0.6];

    [self.viewaddSubview:opaqueView];

    [opaqueView addSubview:activityIndicatorView];

    

    searchBar.delegate =self;

    searchBar.placeholder =@"搜索";// 站位字符串

    

}

- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar

{

    NSString *query = [self->searchBar.textstringByReplacingOccurrencesOfString:@""withString:@"+"];// “”空格替换成“+”

    NSURL *url = [NSURLURLWithString:[NSStringstringWithFormat:@"http://www.google.com/search?q=%@",query]];

    NSURLRequest *request = [NSURLRequestrequestWithURL:url];

    [webView loadRequest:request]; //链接网络地址

}

//当网页视图被指示载入内容时得到通知,返回YES才会开始加载

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {

    NSLog(@"%s",__FUNCTION__);


   NSString *requestString = [[request URL] absoluteString]; // URL -> Str

   NSArray *components = [requestString componentsSeparatedByString:@":"];//以:隔开

   if ([components count] > 1 && [(NSString *)[componentsobjectAtIndex:0] isEqualToString:@"testapp"]) {

        if([(NSString *)[componentsobjectAtIndex:1] isEqualToString:@"alert"]) {

            UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"Alert from Cocoa Touch"message:[components objectAtIndex:2]delegate:selfcancelButtonTitle:nilotherButtonTitles:@"OK",nil];

            [alertshow];

        }

       return NO;

    }

    return YES;

}


//  当网页视图已经开始加载一个请求之后得到通知

- (void)webViewDidStartLoad:(UIWebView *)webView

{

    NSLog(@"%s",__FUNCTION__);

    [activityIndicatorViewstartAnimating];

    opaqueView.hidden =NO;

}

//  当网页视图结束加载一个请求之后得到通知

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

    NSLog(@"%s",__FUNCTION__);


    [activityIndicatorViewstopAnimating];

    opaqueView.hiddenYES; // 隐藏

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值