Чтобы отключить прокрутку UIWebView:
mWebView = [[UIWebView alloc] initWithFrame:CGRectMake(20, 0, 300, 390)];
mWebView.backgroundColor=[UIColor greenColor];
mWebView.userInteractionEnabled=YES;
mWebView.autoresizingMask=YES;
mWebView.delegate = self;
for (id subview in mWebView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).bounces = NO;
for (id subview in mWebView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).showsVerticalScrollIndicator = NO;
for (id subview in mWebView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).scrollEnabled= NO;
Затем добавьте этот UIWebView в качестве подпредставления вашего основного UIView или куда угодно.
Всякий раз, когда данные перезагружаются, вызывается следующий метод делегата UIWebView. Так что реализуйте код динамического изменения размера внутри этого.
- (void)webViewDidFinishLoad:(UIWebView *)webview{
float webHeight;
CGRect frame = webview.frame;
frame.size.height = 1;
webview.frame = frame;
CGSize fittingSize = [webview sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webview.frame = frame;
webHeight=fittingSize.height;
rowHt=webHeight;
[aTableView reloadData];
}
Я добавил UIWebView в табличное представление. Поэтому я вызываю reloadData для таблицы и передаю webHeight (новую высоту веб-просмотра) делегату таблицы для установки высоты строки. Надеюсь, это поможет.