現在開発中のアプリでは、ユーザーが質問できる画面を実装する必要があります。この画面には、UITextViewの横にUIImageViewがあり、スペースの一部を占めています。下の画像のように見えます。
私の質問は、UITextViewテキストをUIImageViewの周りにラップして、テキストがブロック内になく、UIImageViewの周りを流れるようにするにはどうすればよいですか?
よろしくお願いします。
現在開発中のアプリでは、ユーザーが質問できる画面を実装する必要があります。この画面には、UITextViewの横にUIImageViewがあり、スペースの一部を占めています。下の画像のように見えます。
私の質問は、UITextViewテキストをUIImageViewの周りにラップして、テキストがブロック内になく、UIImageViewの周りを流れるようにするにはどうすればよいですか?
よろしくお願いします。
UITextViewがリッチテキストまたはHTMLエディターであり、その中に画像が埋め込まれていない限り、これを行うことはできないと思います。基本的に、あなたが求めているのは非長方形のUITextViewです。私の知る限り、これはiOSでは不可能です。ただし、まったく新しいものを最初から作成する場合を除きます。これは非常に複雑です。HTMLのようなテキストを表示できるが、編集できないUILabelスタイルのコントロールをたくさん見てきました。
編集:これは役立つかもしれません:http://www.cocoanetics.com/2011/01/rich-text-editing-on-ios/
残念ながら、UITextFieldはここで役立つ機能を提供しないため、これは簡単な問題ではありません。
ただし、UITextInput(テキスト入力用)とCore Text(テキスト表示用)を使用して独自のテキストビューを実装し、カスタムCGPathからCore Text(Core Textの詳細についてはこちらを参照)の描画長方形を定義することができます。それは画像フレームを除外します。
それは少し複雑に聞こえますが(おそらく非常識です)、(ほぼ常に)すでに解決策を見つけたオープンソースソリューションがあります。OmniGroupフレームワークには、CoreTextとUITextInputに基づくカスタムテキスト入力コントロールが含まれています。それらはMITライセンスの下でライセンスされているので(まあ、それ以上)、あなたは大丈夫なはずです。