2012-03-15 12 views
0

Core Text CTLineRef変数内のタップ・イベントをテストしたいとします。私はフレーム内でCTLineを反復して検索したCTLineRefという変数、touchedLineを持っています。その範囲内でヒットした文字列を見つけたら、元の文字列の文字のインデックスをCTLineGetStringIndexForPositionから取得します。これは、コードの一部を再構築することなく、容易にアクセスできません作成するために使用される文字列データは、私がtouchedLineから自分自身をCTLineRef変数touchedLineを作成するために使用された元NSAttributedStringを取得できること--- CTLineGetAttributedStringのいくつかの並べ替え、今仮にCTLine変数の生成に使用された元の文字列を検索できますか?

関数?

+0

グリフではなく元の文字列のインデックスをチェックできるという事実は、そこにデータが格納されていることを示していますが、それを抽出させる。グリフデータから 'NSAttributedString'を再構築しようとすると、あまりにも危険なようです。 – ascentury

答えて

0

これは不透明なタイプなので、CTLineにはデータが含まれている必要がありますが、アップルのドキュメントに記載されている機能を超えて検索する方法はありません。したがって、簡潔には、いいえ、はありません。

(私の初期の問題を解決するのに役立つ1つの注意点は、CTLineGetStringIndexForPositionの位置に使用している座標系が残りのシステムに対してyフリップされることです。全体のCore Textのこと...)

関連する問題