在UIWebView中缩放会导致应用程序崩溃

时间:2014-11-06 02:41:28

标签: ios objective-c ios7 ios8

我已经查看了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
}

非常感谢任何帮助或反馈。

0 个答案:

没有答案