2009-08-25 9 views
0

このソリューションは、Appleの提出アプリによって承認されることができれば誰でも知っていますか?iPhoneのUIWebViewの高さ

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    CGFloat webViewHeight = 0.0f; 
    if (self.subviews.count > 0) { 
     UIView *scrollerView = [self.subviews objectAtIndex:0]; 
     if (scrollerView.subviews.count > 0) { 
      UIView *webDocView = scrollerView.subviews.lastObject; 
      if ([webDocView isKindOfClass:[NSClassFromString(@"UIWebDocumentView") class]]) 
       webViewHeight = webDocView.frame.size.height; 
     } 
    } 
} 

ありがとうございます。 ハミ。

JavaScriptを使用して、Webページのサイズを変更する -stringByEvaluatingJavaScriptFromString:を使用しない理由

答えて

0

よりもむしろあなたのアプリを変更し、破損する可能性がプライベートクラスをいじり、?

+0

はい。それは動作するはずです。しかし、向きが変わったときには大きな問題を抱えています。 iは、通知方法を使用すると、アプリケーションのレイアウトを変更する前に、その通知が発生しました。したがって、stringByEvaluatingJavaScriptFromStringは間違った値を返します。 私はstringByEvaluatingJavaScriptFromStringを呼び出す前に遅延を追加しようとしました、それが動作します。 しかし、遅延はあまり正確な方法ではありません:) ありがとうと思います。 – Hamiseixas

+0

ここでは、-stringByEvaluatingJavaScriptFromStringが間違った値を返すということを私が理解しているとは思いません。私は実際には、方向の変化に応じて、javascriptウィンドウのサイズを変更するには、そのサイズが何であるかをビューに尋ねるために使用することを意味します。何も返さないでください。 –

+0

OPはそれを変更しない、のUIWebViewの高さを決定します。私は彼がUITableViewCellにUIWebViewを埋め込みたいと思う。 – NewbiZ

7

はあなたの問題を解決するには、以下の方法を使用することができますUIWebViewDidfinishLoadデリゲートメソッドを実装し、次のコード

こんにちは、

を使用しています。 pageOffsetを取得するための

int型pageYOffset = [[webViewObj stringByEvaluatingJavaScriptFromString: "window.pageYOffset"] @ intValue]; Webページの合計スクロールの高さを取得するための

int型scrollHeight = [[webViewObj stringByEvaluatingJavaScriptFromString: "document.documentElement.scrollHeight" @] intValue];特定のオフセットにWebページをスクロールする

[webViewObj stringByEvaluatingJavaScriptFromString:[NSStringのstringWithFormat: "document.body.scrollTop =%dの" @、scrollHeight]。

関連する問題