iOS--webView的简单使用

本文介绍了一个iOS应用中的WebView实现,包括页面前进、后退、刷新等基本操作及如何通过代理方法拦截请求实现与JavaScript的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

@interface WebViewController ()<UIWebViewDelegate>


@property (weak, nonatomic) IBOutlet UIWebView *webView;

@property (weak, nonatomic) IBOutlet UIBarButtonItem *back;

@property (weak, nonatomic) IBOutlet UIBarButtonItem *go;

@property (weak, nonatomic) IBOutlet UIBarButtonItem *refresh;


@end


@implementation WebViewController


- (IBAction)back:(UIBarButtonItem *)sender {

        [self.webView goBack];

}


- (IBAction)go:(UIBarButtonItem *)sender {

        [self.webView goForward];

}


- (IBAction)refresh:(UIBarButtonItem *)sender {

        [self.webView reload];

}




- (void)viewDidLoad {

    [super viewDidLoad];

        self.webView.delegate = self;

        self.webView.scalesPageToFit = YES;//网页内容会自动进行屏幕自适应。

        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];

        

//        [self.webView loadHTMLString:@"<html><body><div style=\"color:red;font-size:10px;border:1px solid blue;\">我爱你,中国</div></body></html>" baseURL:nil];可以加载HTML文件。

        

//        self.webView.scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20);控制显示界面的大小。

        

        [self.webView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle]URLForResource:@"test" withExtension:@"html"]]];

        self.webView.dataDetectorTypes = UIDataDetectorTypeAll;//检测各种特殊字符串,包括数字,网址

        

}


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

        self.go.enabled = webView.canGoForward;

        self.back.enabled = webView.canGoBack;

        

}


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

        NSLog(@"%s",__func__);

}


-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{

        self.go.enabled = webView.canGoForward;

        self.back.enabled = webView.canGoBack;

}


2.代理中需要注意的一个方法,主要是用于拦截,可以用在WebView和JS的交互。

/**

 *  每当webView即将发送请求之前,都会调用这个方法

 *返回YES,表示允许加载这个请求。

 */

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

        

        NSLog(@"%@",request.URL);

        

        if ([request.URL.absoluteString containsString:@"life"]) {

                

        }

        return YES;

        

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值