1

私はUITextViewまだ作成しましたが、不要なスペースがいくつかあります:

黒枠

(白い箱は別に描いています)。スクロールすると適切な場所で切り取られるため、座標が正しいと確信しています。

スクロールして境界を表示

テキストをさらに左に描画し、一番上の位置をさらに上にするにはどうすればよいですか? つまり、次のようにしたいと思います。

望ましい結果

試してみまし[[textView layer] setBorderWidth:0.0f]たが、役に立ちませんでした-すでに境界線がありません。これは、境界線の幅を 2 ​​に設定し、色を赤に設定すると、次のようになります。

レイヤーの赤枠あり

余分な間隔がどこから来ているのか、それを制御する方法に興味があります。

4

2 に答える 2

3

以下がそのトリックを行うようです:

UITextView *textView = ...;
[textView setContentInset:UIEdgeInsetsMake(-10, -8, 0, 0)];

結果はまさに私が望んでいた通りです。これはマジック ナンバーを使用しているため、満足のいくものではありません。より良い回答があれば、コメントまたは回答をお待ちしています。

于 2013-10-17T16:58:21.433 に答える
3

textContainerInset を試してみましたか?

developer.apple.comのドキュメントによると、「このプロパティは、テキスト ビューに配置されたテキストにテキスト マージンを提供します。」これは iOS 7 の新機能です。

于 2013-10-17T03:18:53.270 に答える