UITextView 以编程方式调整大小,但随后设置为旧的故事板值。

Posted

技术标签:

【中文标题】UITextView 以编程方式调整大小,但随后设置为旧的故事板值。【英文标题】:UITextView resized programmatically but then gets set to old storyboard values. 【发布时间】:2016-02-10 18:25:10 【问题描述】:

我有一个 UITextView,我通过情节提要在视图中定位和调整大小。我正在使用自动布局约束。 在 iPhone 4s 和 5 上,我通过为其设置新框架和边界来降低 UITextView 的高度。这是为了在键盘伸出时不会被覆盖。 当键盘扩展时,似乎自动布局正在尝试设置其框架并返回到故事板中设置的内容(适用于 iPhone 6 屏幕)。键盘扩展后,我可以使用方法再次设置高度。然而,这导致了一些明显的绘画效果。 IE。值得注意的是 UITextView 扩展了它的高度然后缩回了它的高度。在从情节提要中检索到框架和边界之后,但在重新绘制 UITextView 之前,我找不到任何方法可以设置框架和边界。有没有办法让自动布局使用我设置的新框架和边界,而不是抓取故事板中指定的框架和边界?

【问题讨论】:

【参考方案1】:

不要设置框架,而是在视图控制器中将自动布局约束设置为 IBOutlets 并更改它们的常量。

【讨论】:

如何为 UITextView 的高度设置自动布局约束?我目前没有使用自动布局约束来设置高度。 您可以通过选择 UITextView 并按下界面生成器右下角的约束按钮来添加高度常量。 我稍后会尝试并接受这个作为答案,如果它有效。谢谢!

以上是关于UITextView 以编程方式调整大小,但随后设置为旧的故事板值。的主要内容,如果未能解决你的问题,请参考以下文章

我将如何(以编程方式)将 UITextView 的高度设置为其在 Swift 中的内容大小?

如何根据内容调整 UITextView 的大小,宽度固定

UITextView 调整宽度以适合文本

调整 UIScrollView 的大小以适应其内容……不起作用

如何在 Swift 中以编程方式调整 UIButton 中文本的字体大小以适应宽度?

iOS 故事板 - 自动布局不会调整子视图的大小和位置