2013-04-06 7 views
7

私のストーリーボードには「リッチテキスト」(基本的に太字とイタリック)を表示する「製品詳細」UIViewControllerがあります。UIWebViewです。 Webビューは、文字列(CoreDataから取得)loadHTMLStringを使用してロードされます。問題は、ビューが最初に表示されるときに、Webビューがレンダリングされる前に少なくとも1秒の遅延があることです。すべての負荷が正常にロードされた、さらに「製品の詳細」ビュー。これは、読み込みに時間がかかる最初の「製品の詳細」Webビューに過ぎません。UIWebViewは、特定のUIViewControllerに最初に表示されるときに非常にゆっくり読み込まれます

これは、詳細ビュー表示する時間が来ると最初の画面上のテキストとUIWebView(のUIWebViewを温めるために)

  • を表示する私は(無喜びで)試してみました何

    1. あり、 prepare for segueメソッドでWebビューをinitに変更し、それを「製品詳細」ビューコントローラに渡します。私は他の人がこの問題を抱えているとどのように彼らはそれを乗り越えた場合、私は非常に興味がある、スクロールビューなどに/ストーリーボードで/いないストーリーボードに

    をウェブビューを持つの様々な組み合わせを試してみました

  • /それを回避した。私は奇妙なことに私はそう多くの同様の問題を見つけることができていないことがわかります。私はリッチテキストを表示することができますので、私はのUIWebViewを使用しています、...


    注意を愚かな何かをしなければなりません。私は他のコントロールを使ってリッチテキストを表示できることを理解していますが、表示したいテキストを作成するプログラムは、HTMLを使用してリッチテキストのみを書き出すことができます。

  • +2

    は、あなたのコアデータフェッチHTML文字列をプリロードしようとしたことがありますか? UIWebViewではなく、遅いコンポーネントがCore Dataである可能性があります。 (また、推測ではなく、Instrumentsの下でアプリケーションを実行することを検討してください - 時間がどこにあるかを教えてください) – Tim

    +0

    [DTCoreText](https://github.com/Cocoanetics/DTCoreText)のようなプロジェクトに興味があるかもしれません。あなたは重い重量と読み込みが遅いwebviewなしで表示できる何かにHTMLを解析することができます。 –

    +0

    Tim、私はあなたの提案を試みました(しかし感謝します)。 @ JesseRusak、私はDTCoreTextを見ていきます。ありがとう –

    答えて

    3

    代わりに使用し、リッチテキストコンテンツを表示するためのUIWebViewの、あなたは前のiOS 6

    のバージョンとの下位互換性がありますあなたは、そのマークアップパーサhereの例を見つけることができますOHAttributedLabelのOHASBasicHTMLParserを使用してみてください。

    +0

    ありがとうございます。これは最高の答えですので、私はあなたに五十を与えます。私は[Jesse Rusak]とポイントを分けることができないのは残念です(http://stackoverflow.com/questions/15846850/uiwebview-is-loading-very-slowly-on-the-first-time-it-is-特定の/ 16020957で表示されますか?noredirect = 1#comment22628155_15846850)、彼は同様の反応を示したが、コメントの中にあった。他の人に:彼の提案は[DTCoreText](https://github.com/Cocoanetics/DTCoreText)でした。私はまだそれらを評価していないが、彼らは両方が仕事をするように見える。 –

    +0

    私は何かを必要としているように私のAPPであなたはそれをもっと詳しく記述できますもっと読み込み時間を短縮し、WebViewから適切なコンテンツを避けることができますか?関連するコンテンツのみを表示する必要があります。前もって感謝します。 – JAck

    6

    これはUIWebViewの一般的な問題です。私の回避策は、Webビューを最初に非表示にして(何らかの「読み込み中...」インジケータを表示して)、webViewDidFinishLoad:メソッドで非表示にします。

    +0

    私はすでにこの種の作業を試みました。私は読み込み時間が気に入らなかった。 –

    +0

    'ararog'の提案を試みましたか?それはまさにあなたが必要としているようです。 – MusiGenesis

    関連する問題