【问题标题】:How to set a margin in UITextView?如何在 UITextView 中设置边距?
【发布时间】:2011-05-19 03:52:16
【问题描述】:

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

我在 UIScrollView 中添加了 UITextView 而不是 UIView,它几乎可以正常工作。但它们有时会表现出奇怪的行为,并且 UITextViewDelegate 不适用于我的 UIViewController。

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

【问题讨论】:

    标签: iphone ipad ios uiscrollview uitextview


    【解决方案1】:

    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 内容。

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

    【讨论】:

    • 这不太适合我。当然,边距是添加的,但它们是在 UITextView 的边界之外添加的。结果是文本显示开始时与边缘齐平,但您可以将其滚动到边缘。我错过了什么?
    【解决方案2】:

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

    我把宽度窄的UITextView放在UIView上,然后把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】:

      您可以将 UITextView 的滚动条右插入值设置为负值并禁用剪辑子视图选项以实现您的要求。不需要其他滚动视图。

      在代码中是

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

      【讨论】:

        【解决方案4】:

        您可以使用属性 textContainerInset

        仿效乔治·格林的例子:

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

        【讨论】:

          猜你喜欢
          • 2011-03-14
          • 2011-03-31
          • 1970-01-01
          • 2022-10-21
          • 2010-10-19
          • 2014-03-02
          • 1970-01-01
          • 2012-09-16
          • 2017-12-15
          相关资源
          最近更新 更多