如何在UITextView中设置边距?

时间:2010-12-02 14:06:40

标签: iphone ipad ios uiscrollview uitextview

我目前正在为iPad开发一个简单的文本编辑应用程序。 我想设置左/右边距,如附图。 只是将UITextView添加到另一个宽度较大的UIView中将无法正常工作,因为滚动指示器将无法正确定位。

我没有使用UIView,而是将UITextView添加到UIScrollView中,它的工作原理几乎没有。但它们有时会显示奇怪的行为,而UITextViewDelegate不适用于我的UIViewController。

有没有办法只使用UITextView设置左/右边距? 谢谢。

alt text

4 个答案:

答案 0 :(得分:9)

您可以使用 textContainerInset

属性

George Green

为例
myTextView.textContainerInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f);

答案 1 :(得分:6)

UITextView是UIScrollView的子类。我没试过,但你可以试试像:

myTextView.contentInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f);

UIEdgeInsetsMake()如下:

UIEdgeInsets UIEdgeInsetsMake (
   CGFloat top,
   CGFloat left,
   CGFloat bottom,
   CGFloat right
);

所以你应该可以插入textView内容。

希望这有帮助,让我知道它是否有效!! :)

答案 2 :(得分:4)

我想做同样的事情,但是textview.contentInset没有用。

我在UIView上放了一个窄宽度的UITextView,然后将textview的scrollview指示器移到右侧,所以我得到了我想要的东西。

textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f,0.0f,0.0f,-20.0f);

这个答案可能有所帮助。 Is there a way to put UITextView's scroll indicator to outside UITextView?

答案 3 :(得分:1)

您可以将UITextView的右侧插入值设置为负值,并禁用剪辑子视图选项以达到您的要求。不需要其他滚动视图。 Select textview on storyboard first

在代码中它将是

textView.clipsToBounds = NO;
textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, -50.0f);