Изменение размера UIWebView в UITableView - PullRequest
0 голосов
/ 24 августа 2011

Я получаю новый размер UIWebView, который выбросил его делегат =

#pragma mark - UIWebView delegate 
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"Taille resizée = %f", [webView sizeThatFits:CGSizeZero].height);
    CGRect frameTitle = CGRectMake(10, 0, [webView frame].size.width, [webView sizeThatFits:CGSizeZero].height);
    webView.frame = frameTitle;
}

, но уже слишком поздно для источника данных UITableView, который создает таблицу перед вызовом предыдущей функции.Как лучше всего справиться с этой проблемой?

На данный момент лучшее решение, которое я нашел, это:

#pragma mark - UIWebView delegate 
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"Taille resizée = %f", [webView sizeThatFits:CGSizeZero].height);
    CGRect frameTitle = CGRectMake(10, 0, [webView frame].size.width, [webView sizeThatFits:CGSizeZero].height);
    webView.frame = frameTitle;
    [myTableView reloadData];
}

Но я не нахожу это элегантным, потому что таблица загружает вдвое больше данных.

Спасибо,

1 Ответ

1 голос
/ 24 августа 2011

Вот так я перезагружаю свое табличное представление, основанное на высоте 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];

}

Надеюсь, это поможет

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