вторник, 7 декабря 2010 г.

Свободное место в UIWebView после удаления элементов со страницы

Компонента UIWebView поддерживает JavaScript конструкции, с помощью которых можно создавать интерактивный веб-интерфейс и на айфоне.
Но когда используются подобного рода конструкции:

[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('foo').style.display = 'none';"];

Возникают непредвиденная ошибка отображения компоненты: UIWebView освободившееся место сдвигает, но не удаляет. Таким образом в конце получается голый фон страницы, по высоте равный убранному элементу.

Поэтому явно приходится напоминать UIWebView реальную высоту содержимого веб-страницы. К примеру следующим образом:

NSString *string = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('wrapper').offsetHeight;"];
CGFloat height = [string floatValue];
CGRect frame = [webView frame];
frame.size.height = height;
[webView setFrame:frame];

Комментариев нет:

Отправить комментарий