xmpp-client アプリを開発しています。機能の 1 つは笑顔を送信することであり、ユーザーは通常のテキストと同じように編集できる必要があります。Viber アプリで編集する絵文字は、私が実装したいものの最良の例です。
私はすでに問題を解決するために3つの方法を試しました:
通常の UIImageView のように絵文字を作成し、現在のキャレット rect を使用して UITextView のサブビューとして配置します。テキスト ビューでテキスト プレースホルダーとして 5 つの空白を使用します。2 つの問題があります。途中にテキストを挿入するときに絵文字を新しい行に配置することです (空白を印刷すると、キャレットが新しい行に移動しません)。ユーザーが拡大鏡を使用してキャレットを配置すると、このプロセス中にデリゲート メソッドが呼び出されないため、絵文字を介して (5 つの空白を介して) キャレットを移動できます。
私はEGOTextViewを試しました。新しい行を追加する必要がある場合、キャレットの位置とサイズ変更に問題があります。また、1 ライン サイズを使用すると、いくつかのレンダリング アーティファクトが発生します。
また、UIWebView を使用してみました。しかし、テキスト サイズに基づくサイズ変更や、ファーストレスポンダーになったときの応答速度に関するその他のアーティファクトには大きな問題がありました。実際に機能する解決策についてアドバイスをくれる人がいるかもしれません。
何か提案はありますか?
ありがとう!