UIWebView внутри UIScrollView не отображает содержимое должным образом? - PullRequest
2 голосов
/ 28 февраля 2012

Я показываю html-письма в моем приложении. Но он не растягивает изображения до полного размера, в то время как почтовое приложение Apple делает. Смотрите скриншоты ниже. Как яблоко Есть идеи, как этого добиться?

  1. Веб-просмотр My Application

enter image description here

почтовое приложение Apple

enter image description here

Ответы [ 3 ]

1 голос
/ 10 апреля 2014

Вы можете попробовать поиграть с метатегом области просмотра в HTML. Даже если вы не можете изменить HTML до его загрузки, вы можете добавить / настроить этот тег после факта.

Я ответил на вопрос о том, как это сделать, здесь:

UIWebView - загрузить внешний веб-сайт, программно установить начальный масштаб масштабирования и разрешить пользователю масштабирование впоследствии

1 голос
/ 01 марта 2012

Я знаю, что это не отвечает на ваш вопрос, но Apple явно предостерегает от встраивания UIWebViews в UIScrollViews в справочник по классам UIWebView

Important You should not embed UIWebView or UITableView objects in UIScrollView objects. If you do so, unexpected behavior can result because touch events for the two objects can be mixed up and wrongly handled.

Но для чего бы вы ни пытались, вы пробовали использовать свойство scalePageToFit в UIWebView

0 голосов
/ 11 апреля 2014

Не знаю, где у меня это, но это было в моих заметках.
Вам нужно немного поработать с JS, чтобы он соответствовал размеру рендера.

#pragma mark -
#pragma mark UIWebViewDelegate methods 
-(void)webViewDidFinishLoad:(UIWebView *)webView{
if (webView!=bioWebView)return;

float h;

NSLog(@"web view is %f high", bioWebView.frame.size.height);
NSString *heightString = [bioWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById("body").offsetHeight;"];
NSLog(@"web content is %@ high",heightString);

h = [heightString floatValue] +12.0f; // convert from string to float plus some extra points because calculation is sometimes one line short

bioWebView.frame = CGRectMake(bioWebView.frame.origin.x, bioWebView.frame.origin.y, bioWebView.frame.size.width, h);

// get bottom of text field
h = bioWebView.frame.origin.y + h + 70; // extra 70 pixels for UIButton at bottom and padding.
[scrollView setContentSize:CGSizeMake(320, h)];

/* 

    position button code here.... 

    */

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...