【问题标题】:Move element when UITextView expandsUITextView 展开时移动元素
【发布时间】:2016-05-18 10:06:25
【问题描述】:

我正在尝试使我的滚动视图中的 TextView 看起来像这个 github repo raulriera TextFieldEffects

中的“Hoshi” TextField

如果我只有一个带有上/左/右约束的文本视图,它会在我输入更多正确的文本时展开。

但是当我在它下面添加一个 UIView 时,如果我输入很多字符,它会切断文本,我想做的是在它展开时将它下面的视图/行与 textview 一起移动。

我对 UIView 的限制是 textview 的顶部空间 >= 10 我认为当 textview 展开但没有任何反应时会移动视图,而是文本被截断并且视图不会移动

这是约束的图像:

那么,一旦 textview 展开,我怎样才能让视图移动呢?

【问题讨论】:

  • 其他限制条件是什么?
  • @matt textView 有一个上/右/左约束,全部设置为 10。我通过使视图的底部约束具有低优先级(250)来解决它 - 大底部约束你可以在图片中看到。这允许视图拥抱 textView,但也使其与 textview 一起扩展

标签: ios iphone xcode swift constraints


【解决方案1】:

根据输入的文本以编程方式更改 textview 的高度约束。

【讨论】:

  • 输入文字时可以这样做吗?我不会加载文本,它只能作为输入。但是每次你做一个新的“
    时你能改变高度吗?
  • 当用户输入文本时,您将在 textview 委托方法中获得回调。检查文本的大小并相应地调整高度约束 IBOutlet。
【解决方案2】:

删除lablebottom constraints 它将按需要工作。那bottom constraints 不允许您的lable 随着您的textView 高度增加而向下移动。

【讨论】:

  • 是的,但是线/视图在展开后如何能够跟随文本视图?
  • 由于线/视图高度是固定的,并且它的顶部被赋予 textView ,因此不需要底部约束。
【解决方案3】:

我找到了解决办法。

我必须将 UIView 的底部约束设置为 >= 低优先级 (250)。这将使它与 textview 一起扩展

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2016-03-19
    相关资源
    最近更新 更多