2

新しいiPhone/iPad開発プロジェクトを始めたばかりで、リッチスタイルのテキスト(場合によっては画像が埋め込まれている)を含むドキュメントを表示する必要があります。ユーザーはドキュメントをタッチし、ドラッグして個々の単語または複数行のテキストスパンを強調表示します。テキストが強調表示されると、コンテキストメニューが表示され、強調表示の色を変更したり、余白のメモ(または構造化されたメタデータの他のさまざまなビット)を追加したりできます。

Word文書にコメントを追加する(またはPDFに注釈を付ける)ことに精通している場合、これは同じ種類のことです。しかし、私の場合、一般的なユーザーはアプリ内で何時間も費やし、中央のドキュメントに数千(場合によっては数万)の小さな注釈を追加します。メタデータのこれらのビットはすべてローカルに保存され、リモートWebサービスとの同期を待ちます。

開発者がUIWebViewコントロールを作成し、それにHTML文字列を渡すことを提案する他のアドバイスを読みました。しかし、特に私が含めたいすべてのコンテキスト依存性を考えると、それはちょっと不格好なようです。

とにかく、私はiPhone開発とObjective-Cにまったく慣れていませんが、10年のソフトウェア開発の経験があり、さまざまなプラットフォームでさまざまな言語を使用しているので、スクラッチ。

しかし、誰かが同様の種類のコンポーネントを構築した経験がある場合は、そのような豊富なドキュメントのマークアップと注釈を有効にするための戦略を聞くことに興味があります。

4

3 に答える 3

2

iPad では、 Core Textを活用できます。

iPhoneに何を提案すればよいかわかりません。HTML や PDF のレンダリング以外に、どの iPhone リーダー アプリでも優れたテキスト処理に気付いたことはありません。ゼロから何かを書かなければならないと思います。

于 2010-05-18T15:15:59.020 に答える
2

私はあなたが説明したものの簡略化されたバージョンに取り組んでいます。実装を簡単にするために、段落の粒度に制限したので、長押しすると段落が選択され、選択リストがポップアップしてその段落に適用されます。

私はこれをすべてUIWebView内のJavaScriptで行っています。これは、テキスト エディターの使用方法に関する私の最後の選択でした。後方互換性 (CoreText なし) と iTunes 経由でのリリース (プライベート WebKit なし) が必要だったので、javascript が残されました。

この非常に不格好な方法を使用して、おそらく目的を達成できます。Javascript は要素レベルで最適に機能するため、ドキュメント内のすべての単語を一意の ID を持つスパンでラップすることをお勧めします。

Javascript は、タッチ イベント、ジェスチャ、および DOM モデルに完全にアクセスできます。Cocoa 側から取得するよりも、UIWebView をより適切に制御できます。いくつかのトリックを使用して、ホスト アプリケーションとの双方向通信チャネルを取得できます。PhoneGap には、これの優れた実装があります。

別の方法を選択できる場合は、そのオプションを選択します。あなたが私のように立ち往生している場合、これは実行可能ですが、不愉快なオプションです.

于 2010-05-18T15:53:31.580 に答える
1

iPhone OS 3.2 以降で作業する場合は、Omni Group のオープン ソース フレームワークの最新リリースを参照してください。Core Text に基づくリッチ テキスト エディタのサンプルが含まれています。

于 2010-05-18T15:18:26.360 に答える