Bazı etiketler içeren bir görüntüleme denetleyicim ve içinde bir miktar html yükleyen bir UIWebView var. Tüm bu etiketler ve UIWebView, bir UIScrollView'ın alt görünümleridir. UIWebView'ın kaydırılmasını devre dışı bıraktım, böylece UIWebView etiketleri ve UIWebView, UIScrollView içinde bir arada kaydırılır.UIWebView Tamamen Yüklenmiyor, Yükseklik Değişir
Daha sonra UiWebView içindeki içeriğin boyutunu buldum, içerik boyutuna göre UIWebView boyutunu değiştirdim ve ardından kaydırma görünümünün boyutunu web görünümünün boyutuna ayarlayın. Bu şimdiye webViewDidFinishLoad aşağıdaki kodu ekleyerek yaptım nasıl i Web görünümündeki içeriği boyutunu görmek için NSLog kullanıyorum gibi, ben aynı içerik farklı yüksekliği sağlar fark
CGRect frame = myWebView.frame;
frame.size.height = 1;
myWebView.frame = frame;
CGSize fittingSize = [myWebView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
myWebView.frame = frame;
NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);
mainScrollView.contentSize = myWebView.bounds.size;
. Örneğin, görüntü denetleyicisini ilk kez açıyorsam, 915.0'a eşitliği gösterir ve navigasyonda geri gidip bu görüntü denetleyicisine geri döndüğümde, günlük boyutu 1012.0 olarak gösterecektir.
Bunun html içeriğindeki görüntülerin yüklenmesinden kaynaklanmış olabileceğine inanıyorum. İlk kez doğru yüksekliği göstermek için onu nasıl düzeltebileceğimi bilen var mı? Teşekkürler!
GÜNCELLEME: i Aşağıdaki kodu kullanarak zaten denemiş olduğu, javascript kullanarak farklı bir strateji kullanıyorsanız: i tam olarak hangi
CGRect oldBounds = [[self myWebView] bounds];
CGFloat height = [[myWebView stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
NSLog(@"NEW HEIGHT %f", height);
[myWebView setBounds:CGRectMake(oldBounds.origin.x, oldBounds.origin.y, oldBounds.size.width, height)];
mainScrollView.contentSize = myWebView.bounds.size;
Bu kod günlüğüne her zaman bana doğru yüksekliği sağlar İstediğiniz ancak tüm web görünümü, üstündeki tüm etiketleri engelleyerek yukarı doğru kaydırılır. Yanlış bir şey yapıyorum ve nasıl düzelteceğim? Teşekkürler!
Kaydırma görünümünü de mi kaydediyorsunuz? Bu ilginç bir sonuç gösterebilir. Herhangi bir xib uyarı mesajı? –
ve bu soru yardımcı olabilir: http://stackoverflow.com/questions/6440448/ios-uiwebview-inside-a-uiscrollview?rq=1 veya bu: http://stackoverflow.com/questions/8089992/content-change -with-uiwebview-load-inside-scrollview? rq = 1 –
@DavidDelMonte kullanıyorum NSString * webHeight = [myWebView stringByEvaluatingJavaScriptFromString: @ "document.height;"]; NSLog (@ "WebView Height% @", webHeight); sonra her zaman tam yüksekliği gösterir ama burada webHeight bir NSString, webWeight'ın yüksekliğine myWebView'ın yüksekliğini nasıl ayarlayabilirim? – AJ112