У меня есть UIWebView, который загружает встроенный XHTML следующим образом:
body = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
body.scalesPageToFit = YES;
body.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];
body.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
[self.view addSubview:body];
[body loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"article16" ofType:@"xhtml"]isDirectory:NO]]];
В этом XHTML много изображений, и когда я поворачиваю устройство, у меня появляются предупреждения о памяти, и иногда приложение вылетает.
Если я удаляю маску авторазмера, в частности UIViewAutoresizingF FlexibleWidth (я пробовал использовать только UIViewAutoresizingF FlexibleLeftMargin и UIViewAutoresizingF FlexibleRightMargin без проблем), предупреждение о памяти останавливается, и приложение больше не падает.
Если я удаляю все маски авторазмера и устанавливаю новый кадр webView в didRotate или willRotate, я получаю те же предупреждения, что и при использовании UIViewAutoresizingF FlexibleWidth.
Есть приложение под названием Atomic Web, которое может открывать тот же XHTML и вращаться без предупреждений о памяти, и Safari также может открывать его, но если я создаю проект только с этим UIWebView, приложение иногда падает.
Кто-то знает, что это может быть? Могу ли я установить рамку веб-просмотра другим способом? Почему я не могу использовать маску авторазмера?
Спасибо за ваше внимание.