Ios UIWebView的非动画更改';s缩放使内容模糊
我正在UIWebView中加载HTML文本。页面正在加载,默认缩放为1.0。UIWebView的scalesPageToFit属性设置为“是”,因此可以使用收缩手势放大/缩小页面。 我要做的是将初始webView的内容缩放设置为2.0 我尝试了以下代码:Ios UIWebView的非动画更改';s缩放使内容模糊,ios,objective-c,uiwebview,zooming,Ios,Objective C,Uiwebview,Zooming,我正在UIWebView中加载HTML文本。页面正在加载,默认缩放为1.0。UIWebView的scalesPageToFit属性设置为“是”,因此可以使用收缩手势放大/缩小页面。 我要做的是将初始webView的内容缩放设置为2.0 我尝试了以下代码: webView.scrollView.zoomScale = 2.0; 但是内容看起来很模糊,当我用手势开始收缩缩放时,web view会在没有模糊的情况下重新渲染内容 仅供参考,setter的动画版本: [webView.scrollVie
webView.scrollView.zoomScale = 2.0;
但是内容看起来很模糊,当我用手势开始收缩缩放时,web view会在没有模糊的情况下重新渲染内容
仅供参考,setter的动画版本:
[webView.scrollView setZoomScale:2.0 animated:YES];
正确显示内容文本,适当缩放且不模糊,但我不想设置缩放更改的动画如果不想查看动画,可以为动画时间设置零。下面的代码将帮助您
[UIView animateWithDuration:0.0 animations:^{
webView.scrollView.zoomScale = 2.0;;
}completion:^(BOOL finished) {
//...
}];
另一个建议是使用CGAffineTransformMakeScale方法来缩放webview
webView.transform = CGAffineTransformMakeScale(2, 2);
我不知道添加动画可以使模糊效果消失,所以谢谢你的帖子,这很有帮助 我搜索与您相同的解决方案,但不幸的是,ondermerol的答案不适用于我 我使用UIScrollView->UIScrollViewDelegate的委托解决了这个问题
1)在类中添加布尔属性
@property (nonatomic) BOOL webViewWasForceZooming;
2)在viewDidLoad中,连接您的代表并设置布尔值
self.webView.scrollView.delegate = self;
self.webViewWasForceScrolling = NO;
3)设置新比例
self.webView.hidden = YES;
webViewWasForceZooming = YES;
[self.webView.scrollView setZoomScale:2.0 animated:YES];
4)缩放后显示网络视图
#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
if (webViewWasForceZooming) {
webViewWasForceZooming = NO;
self.webView.hidden = NO;
}
}
我的解决方案并不完美,因为动画持续时间不是空的,但在加载webview后更改缩放效果很好
希望它能帮助别人