2014-01-19 11 views
5

多くのグーグルで解決できない。 私はそこにPDFを含むUIWebViewを持っています。pdfを表示するときにUIwebviewで["1/20"ビュー]を削除することはできますか?

私はビューを望んでいません: "ページ1/20" PDFファイルを見るときの左上隅の小さなビュー。 これを削除することはできますか?

+0

ページ番号ヒントはJSのようには見えません。あなたは同様の問題を見ることができます。 http://sackoverflow.com/a/4167060/729175隠された.subviewsを歩き回り、あなたが望むものを見つけることができます。 – Chugaister

+0

これはサブビューを経由して達成することが可能ですが、非常に洗練された解決策ではありません。私の意見では、PSPDFKit(商用版)、vfrreader、またはFastPDFKitのような専用のiOS PDFリーダーコンポーネントを使用するのが恥ずかしいかもしれません。 – JonEasy

答えて

1

スウィフト3とWKWebView

私はWKWebViewのすべてのサブビューを取得し、WKPDFPageNumberIndicatorを削除します。

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { 
    let webViewSubviews = self.getSubviewsOfView(v: self.webView) 
    for v in webViewSubviews { 
    if v.description.range(of:"WKPDFPageNumberIndicator") != nil { 
     v.isHidden = true // hide page indicator in upper left 
    } 
    } 
} 

func getSubviewsOfView(v:UIView) -> [UIView] { 
    var viewArray = [UIView]() 
    for subview in v.subviews { 
    viewArray += getSubviewsOfView(v: subview) 
    viewArray.append(subview) 
    } 
    return viewArray 
} 

あなたはおそらくを設定する必要があります

-1

私はあなたが次のコードを使用して「20の1ページ」を隠すことができ ...あなたの質問への解決策を見つけた:

for (UIView* subView in [webView subviews]) 
{ 
    if ([subView isKindOfClass:[UIScrollView class]]) { 
     for (UIView* shadowView in [subView subviews]) 
     { 
      if ([shadowView isKindOfClass:[UIImageView class]]) { 
       [shadowView setHidden:YES]; 
      } 
     } 
    } 
} 

希望、これはいくつかのいずれかに役立つかもしれない... 感謝。 ..

+0

私はこのコードを試しましたが、何の理由もありません。 – lee5783

1

このコードは、(試験)iOS9、10に取り組んで

func hidePageNumberView(v: UIView) { 
     for subView in v.subviews { 
      if subView.isKindOfClass(UIImageView) || subView.isKindOfClass(UILabel) || subView.isKindOfClass(UIVisualEffectView){ 
       subView.hidden = true 

       if subView.isKindOfClass(UILabel) { 
        if let sv = subView.superview { 
         sv.hidden = true 
        } 
       } 
      } else { 
       hidePageNumberView(subView) 
      } 
     } 
    } 

webView.scrollView.delegateを実装しでコード上に実行

このヘルプが必要です。

iOS版11 /スウィフト4:

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    hidePageNumberView(scrollView) 
} 

func hidePageNumberView(_ v: UIView) { 
    for subView in v.subviews { 
     if subView is UIImageView || subView is UILabel || subView is UIVisualEffectView { 
      subView.isHidden = true 

      if subView is UILabel { 
       if let sv = subView.superview { 
        sv.isHidden = true 
       } 
      } 
     } else { 
      hidePageNumberView(subView) 
     } 
    } 
}