4

データ検出によって認識される必要があるデータを含む 2 つの UITextView がありますが、1 つはデバイスとシミュレータの両方で正常に動作しますが、1 つはシミュレータでのみ動作します。デバイスからビルドを破棄し、製品をクリーンアップし、派生データを削除しようとしましたが、不整合が解決されないようです。

Interface Builder 内でリンク検出が有効になりました。データはNSString stringWithFormat:書式設定された文字列で渡され、 で設定されUITextView setText:ます。両方とも同じように設定するので、違いはありませんが、どちらか一方では正しく機能しないようです。

編集:デバイスで、リンクとして検出する必要がある項目の 1 つをタップすると、青色に変わり、リンク検出が行われます。影響を与える可能性のあるカスタム フォントや色は設定していません。

4

2 に答える 2

1

どうやらこの問題は、iOS が現在 UITextView リンクをどのように処理しているかによって引き起こされているようです。テキストのセクションを青色にする NSAttributedString を作成しています (ビューにリンクが含まれている場合)。したがって、このバグは、リンクが AttributedString の最初のテキスト、つまりテキスト ビューの最初のテキストである場合にのみ発生することがわかりました。そのため、設定する前にテキストの先頭に空白を追加することで簡単に修正できます。または setText を " " + text; にオーバーライドします。

これがみんなに役立つことを願っています

于 2014-03-17T15:02:03.713 に答える