swift - Xcode 6 : Unable to resize textview height without changing the width

标签 swift xcode6 uitextview constraints

我正在尝试调整高度大小以包含不同的文本字符串,但在运行时遇到 TextView 不同宽度的问题。 当我在运行时检查框架设置时,宽度小于约束宽度 316。因此,文本被截断。 enter image description here

该场景使用带有 TextView 和嵌入的两个按钮的 ScrollView 。 尽管存在这些警告“在当前配置中关闭了约束引用项。在当前配置中关闭此约束”,但没有可见的约束错误。我试图找到任何不正确的约束,但如果我禁用任何约束,我会立即收到错误。另一位用户建议我应该记录这些约束,但我知道如何做到这一点的唯一方法是手动。具有类似配置的另一个场景可以正常运行,不会出现错误。

导致问题的代码是:

override func viewWillAppear(animated: Bool) {

    let fixedWidth = textView.frame.size.width
    textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
    let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
    var newFrame = textView.frame
    newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)
    textView.frame = newFrame;
    textView.scrollEnabled = false
}

当我暂停代码时,fixedWidth = 300(高度200),但newSize是293 x 169。它没有保持固定宽度。这是由于约束错误还是代码中的错误造成的?

最佳答案

如果您将 UILabel 用于静态文本,只需设置 preferredMaxLayoutWidth等于其宽度。然后自动布局将正确运行,因为intrinsicContentSize将被限制为这个宽度,并且它将自动计算正确的高度。

关于swift - Xcode 6 : Unable to resize textview height without changing the width,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427054/

相关文章:

storyboard - 未知的 segue 关系 : Prototype with NSCollectionView

ios-simulator - 在 Xcode 6 上模拟有些问题

ios - 类型转换 RLMObject 会丢弃数据

ios - 在 Parse 和 Swift 中使用指针进行查询

ios - 将 TextView 可编辑设置为 NOT always resignFirstResponder。可以避免吗?

ios - 在 iOS 上创建良好的自定义表情聊天体验

ios - 如何不允许在 UITextView 中键入 'space'?

ios - UISearchBar.appearance() 在首次启动时不起作用?

SwiftUI:如何让按钮在 safari 中打开 URL?