【问题标题】:UITextView textContainerInset not respecting bottom inset valueUITextView textContainerInset 不尊重底部插入值
【发布时间】:2013-10-25 16:45:56
【问题描述】:

我有一个显示 NSAttributedString 的 UIView。它设置为调整大小以适应其内容。

我想在文本和视图之间创建一些填充,但是它不太有效。如果我这样做......

view.textContainerInset = UIEdgeInsetsMake(0, 15, 0, 15);

...然后左右边缘被填充,顶部和底部没有空间。这是对的。然后我在顶部插入:

view.textContainerInset = UIEdgeInsetsMake(15, 15, 0, 15);

现在顶部有 15 个点的填充,但突然底部也被填充了一点(大约 10 个点)。

如果我再添加 15 点底部填充,底部会变得太大,并且间距始终不一样。相反,我不得不捏造它:

view.textContainerInset = UIEdgeInsetsMake(15, 15, 5, 15);

这是 iOS 7 的错误还是我误解了什么?我讨厌在不了解发生了什么的情况下捏造底部值。

【问题讨论】:

  • 你解决了吗?卡在同一个问题上。看到很多相同的问题,但还没有解决方案:/
  • 不,我暂时在捏造:(
  • 这里也有问题。有什么解决办法吗?

标签: ios7 uitextview textkit


【解决方案1】:

仍然存在于 iOS 8.4(模拟器)中。

如果 Inset leftright 为 0,则不考虑底部。

如果left或right的任何属性不为0,则尊重:

_title.textContainerInset = UIEdgeInsetsMake( dy, 0, dy, 0.001);

【讨论】:

    【解决方案2】:

    我不确定是什么原因,但我遇到了同样的问题,这似乎是 Apple 的一个错误。我在 iOS7.1 上测试。

    在我的特殊情况下,我试图在顶部和底部添加一些插图,例如。

    view.textContainerInset=UIEdgeInsetsMake(100, 0, 100, 0);
    

    正如原始问题所述,底部插入的 100 似乎被忽略了。 我偶然发现我可以这样做:

    view.textContainerInset=UIEdgeInsetsMake(100, 1, 100, 0);
    

    这给了我预期的底部插图。我可以忍受左边的(所谓的)1 点插图,所以我将把它用作一种解决方法,它应该(理论上)在当前版本的 iOS 下工作,并且在修复错误后不会完全中断。我当然也会提交错误报告。

    【讨论】:

      猜你喜欢
      • 2013-10-24
      • 2011-01-11
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      • 2014-03-15
      相关资源
      最近更新 更多