У меня есть UIWebView, и я получаю высоту документа в событии webViewDidFinishLoad следующим образом:
-(void)webViewDidFinishLoad:(UIWebView *)aWebView {
heightWebView = [[aWebView stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
NSLog(@"webview height: %f", heightWebView);
}
В событии didRotateFromInterfaceOrientation я перезагружаю html-строку webView. Я не знаю, почему получается одинаковая высота документа в альбомном и портретном режиме.
Любые решения?
Ответ 1 · Raviraj Jadeja
Вам нужно изменить рамку как для портретной, так и для альбомной ориентации.
с помощью метода CGRectMake
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[_ScrollView setContentSize:CGSizeMake(320, 470)];
if(toInterfaceOrientation == UIDeviceOrientationPortrait){
[_btnBooks setFrame:CGRectMake(116, 29, 86, 88)];
}
else
{
if (IPHONE5) {
[_btnBooks setFrame:CGRectMake(240, 29, 86, 88)];
}
else
{
[_btnBooks setFrame:CGRectMake(196, 29, 86, 88)];
}
}
}