有时为了防止webview内容或PDF等文件或网页内容别切屏需要增加水印功能,iOS里面PDF的阅读最方便的也是直接用webview来打开,那么怎么给他加背景图片或水印呢?
大部分人会说这个简单,直接给webview添加一个背景视图,然后把webview设置为透明的,但是实践操作后你会发现这个方法并不好使,你加的背景视图却总是在webview的后面并且不可见,如果要其可见,需要html文件本身是透明的才行。这个要求对应我们自己开发的html也许可以这样要求开发人员,但是如果是别人做的html,这样的要求显然不合适。下面提供一种很简单的方式,将背景视图加在webview的上面,通过设置其透明度来达到想要的效果,具体实现代码如下:
//或WKWebview
UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
*request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]];
[webView loadRequest:request];
[self.view addSubview:webView];
//给webview添加水印效果
UIImageView *bgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, webView.frame.size.width, webView.frame.size.height)];
//bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"22.png"]];
bgView.image = [UIImage imageNamed:@"11.png"];
bgView.alpha = 0.3;
[self.view addSubview:bgView];
说明:背景视图bgView要设置透明度,否则如果是完全不透明的则会浮在webview的上面,不是我们想要的,设置了透明度后就会出现的webview后面,如下图所示,如果想要名字很密集的效果,可以使用上面注释掉的代码来实现,用小图块来拼接成背景颜色。
网友评论