UIWebView添加手势VS设置背景色

一.疑问??

最近在使用UIWebView,发现好多小问题,现整理如下:

1.使用xib加载UIWebView控件时可以设置BackGroundColor但是无效

2.使用纯代码设置self.webView.backgroundColor = [UIColor redColor];无效

3.代码可实现添加手势[self.webView addGestureRecognizer:tap];但点击无效

4.可以在webView上整体覆盖UIButton,但是button会使webView自带的滑动手势失效

 

二.解决方案

1.背景色设置

  1)在@interface ViewController ()添加代理,@interface ViewController ()<UIWebViewDelegate>

    

  2)给webView设置代理:self.webView.delegate = self;

    

  3)实现代理方法:- (void)webViewDidFinishLoad:(UIWebView *)webView;

    

  4)在代理方法中设置颜色,可自定义"字体大小","字体颜色"和"webView的背景色",代码如下:

  //字体大小

    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '330%'"];

    //字体颜色

    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= 'red'"];

    //页面背景色

    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.background='#2E2E2E'"];

 

2.手势添加方法

  1)在@interface ViewController ()添加代理,@interface ViewController ()<UIGestureRecognizerDelegate>

  

  2)给手势设置代理:tap.delegate = self;

  

  3)实现代理方法:- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{return YES;}

  4)实现手势点击调用方法

 

 

 

  

 

posted @ 2017-03-22 17:15  guoyb  阅读(195)  评论(0编辑  收藏  举报