我已经查看了20多个与此模糊相关且不能找到解决方案的帖子。
我所拥有的是UIViewController的子类。在这个类的loadView方法中,我在UIScrollView中添加了一个UIWebView。 UIWebView将scalesPageToFit设置为YES。我面临的问题是变焦似乎成倍增加!即,当您第一次在Web视图中放大时,一切似乎都正常工作。当你缩放AGAIN时,它似乎需要你已经缩放的版本,并试图通过一个额外的因素放大它。这会导致应用程序崩溃。有关如何解决此问题的任何想法?我认为来自UIWebView的报告缩放比例的一些事情搞砸了。
这是一个经过修改的示例代码,用于了解当前的实现:
# This is a UIViewController
@implementation MyViewController
- (void)loadView
{
[super loadView];
self.view.accessibilityLabel = @"MyView";
self.scrollView = [[UIScrollView alloc] init];
self.scrollView.backgroundColor = [UIColor blueColor];
self.scrollView.scrollsToTop = YES;
self.scrollView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:self.scrollView];
// constraints removed from sample for readability
self.headerView = [[UIViewController alloc] init];
[self.scrollView addSubview:self.headerView];
self.bodyView = [[UIWebView alloc] init];
self.bodyView.delegate = self;
self.bodyView.scalesPageToFit = YES;
self.bodyView.scrollView.scrollsToTop = NO;
self.bodyView.translatesAutoresizingMaskIntoConstraints = NO;
[self.bodyView.scrollView addObserver:self
forKeyPath:KeyValuePath
options:NSKeyValueObservingOptionNew
context:nil];
[self.scrollView addSubview:self.bodyView];
// other constraints here
}
非常感谢任何帮助或反馈。