0

を表示webViewしていますが、それをタッチしてページを下にスクロールすると、が表示されscroll barます。

webViewセットを表示するときに、開始時に自動的に表示されるようにするにはどうすればよいですか?また、コードではなく、scroll bar彼の色を制御することは可能ですか?objective cHTML

4

1 に答える 1

0

インジケーターを表示するには、次のトリックを使用できます。

  1. webViewDidFinishLoadこのメソッドを実装して使用しflashScrollIndicatorsます。

    -(void)webViewDidFinishLoad:(UIWebView *)webView {
        [webView.scrollView flashScrollIndicators];
    }
    
  2. このカテゴリを使用して、インジケータを表示します。

    #define noDisableVerticalScrollTag 836913
    
    @implementation UIImageView (ForScrollView)
    
    - (void) setAlpha:(float)alpha {
    
    if (self.superview.tag == noDisableVerticalScrollTag) {
        if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleLeftMargin) {
            if (self.frame.size.width < 10 && self.frame.size.height > self.frame.size.width) {
                UIScrollView *sc = (UIScrollView*)self.superview;
                if (sc.frame.size.height < sc.contentSize.height) {
                    return;
                }
            }
        }
    
        if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleTopMargin) {
            if (self.frame.size.height < 10 && self.frame.size.height < self.frame.size.width) {
                UIScrollView *sc = (UIScrollView*)self.superview;
                if (sc.frame.size.width < sc.contentSize.width) {
                    return;
                }
            }
        }
    }
    
    [super setAlpha:alpha];
    }
    @end
    
  3. 次に、UIWebView次のようにタグを付けます。

    [webViews.scrollView setTag:noDisableVerticalScrollTag];
    

これで、ページの読み込みが完了した後もインジケーターが画面に表示されたままになります。

色の問題については、インジケーターの色を変更するつもりですか?

于 2012-10-14T08:57:25.653 に答える