Я загружаю mathml-контент в UIWebView
, и иногда математические выражения могут пересекать мой webview
фрейм, и пользователю приходится прокручивать, чтобы просмотреть этот контент, который выходит за границы. Чтобы справиться с такими ситуациями, я показываю визуальный индикатор стрелки для пользователя всякий раз, когда его содержимое прокручивается. Моя проблема в том, что в моем webViewDidFinishLoad
, если я пытаюсь получить доступ к webview
, scrollView.contentSize
, он не возвращает мне точный размер содержимого, но если я проверю это каким-либо другим методом после некоторой задержки, он получит правильный размер содержимого. Но проверка с помощью таймера я не думаю, что это эффективный способ сделать это. Ниже мой фрагмент кода,
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"contentSize %@",NSStringFromCGSize(webView.scrollView.contentSize));// returning worng values, even if content size is more this is returning default frame values of webview
[self performSelector:@selector(checkContentSize) withObject:self afterDelay:1.5];//working properly after delay
}
Как я могу получить правильный размер содержимого webView
без использования performSelector
после задержки?
Я даже пробовал это сообщение и пытался захватить это событие как в shouldStartLoadWithRequest
, так и в webViewDidFinishLoad
, но даже это бесполезно.