2

UITextViewのテキストを右に20ピクセルシフトして、以下のコードを使用してテキストインデントを作成しようとしています。

[textview setContentInset:UIEdgeInsetsMake(0, 20, 0,-20)];

しかし、これはスクリーンショットに示されているように私のテキストの右側を切り取っています。これを止めるのを手伝ってくれませんか

ここに画像の説明を入力してください

4

2 に答える 2

2

エッジのインセットが少しずれていると思います。エッジ インセットは、長方形の中央に向かって機能します。適切なインセットを得るには、-20 ではなく 20 を試してください。

[textview setContentInset:UIEdgeInsetsMake(0, 20, 0, 20)];
于 2013-01-02T01:30:48.743 に答える
1

UITextView をサブクラス化し、問題と思われる setContentSize をブロックしても、問題の解決策を見つけることができませんでした。

[textview setContentInset:UIEdgeInsetsMake(0, 20, 0, rightInset)];

rightInset の値に関係なく、テキストは常に切り取られます。テキストビューのフレーム幅に合うように、何かが常にテキストを再描画しています。しかし、なぜインセットを設定する必要があるのでしょうか。UITextView オブジェクトの背景を透明な色に設定し、背景ビューに適切に配置して、インデントの錯覚を得ることができませんか?

于 2013-01-02T13:39:30.700 に答える