2011-10-24 8 views
2

ローカルコンテンツをロードするビューコントローラにUIWebViewがあります。私はモーダルビューでロードする特定のリンクをインターセプトしています。これらのリンクの1つがクリックされ、shouldStartLoadWithRequestデリゲートメソッドでNOを返すと、現在表示されているコンテンツが上部にスクロールします。私はこれが起こるのを止める必要があります。UIWebView他のリンクがクリックされたときに上にスクロール

答えて

0

それはない最善の解決策が、あなたはこれを試すことができます。設定後、

CGPoint Pos; 
for (UIView *subview in webView.subviews) 
{ 
    if ([scrollView isKindOfClass:[UIScrollView class]]) 
     Pos = scrollView.contentOfSet; 
} 

そして:

for (UIView *subview in webView.subviews) 
{ 
    if ([scrollView isKindOfClass:[UIScrollView class]]) 
     [scrollView setContentOffset:Pos animated:YES]; 
} 
+0

これは助けにはならず、とにかくiOS 5でのみ利用可能です。この問題は、私がモーダルビューを提示するときにのみ起こるようには見えない。私は、WebビューのshouldLoadRequestデリゲートメソッドでリンクをキャッチし、NOを返します。これは、Webビューを上にスクロールさせるように思えます。私はそれがどこにいてもそれが必要です。 – smokingoyster

+0

scrollsToTopは2.0以降利用可能で、setContentOffsetで試すことができます:アニメーション:too – gfdgfd

+0

申し訳ありませんが、scrollsToTopは2.0以降利用できますが、5.0以降はWebビューのscrollViewにしかアクセスできません。私はスクロールアップからWebビューを停止しようとしています。あなたが私にそれをスクロールさせるように指示しているように聞こえる。基本的に問題は、リンクがクリックされるたびに、コンテンツが自動的に一番上にスクロールすることです。私はそれがリンクがクリックされたときにあった場所にとどまるようにする必要があります。私はすでにshouldStartLoadWithRequestメソッドからNOを返すので、何がスクロールを引き起こすのか、それを止める方法がわからない。ユーザーのスクロールが必要なので、スクロールを完全に無効にすることはできません。 – smokingoyster

0

[OK]を

保存する前に、モーダルを開きます。だから、問題はウェブの見解ではありませんでした。それはhtml/javascriptと一緒だった。私がクリックしていたリンクはhref = "#"を持っていて、document.locationを変更したクリック時にjavascriptメソッドを呼び出していました。スクロールを引き起こしていたのはhref = "#"でした。私はそれをhref = "javascript:void(0);に変更しました私はビジネスに戻っています。

関連する問題