【发布时间】:2015-02-22 23:08:33
【问题描述】:
我有一个UIScrollView,里面有一个很大的UITextView。我创建了一个约束来使文本视图宽度为 100%,我现在希望文本视图在方向改变时调整高度,但我找不到如何做到这一点。
这是我现在的代码:
var wordLabel = UITextView()
wordLabel.attributedText = wordText
wordLabel.editable = false
wordLabel.scrollEnabled = false
wordLabel.setTranslatesAutoresizingMaskIntoConstraints(false)
let wordLabelSize = wordLabel.sizeThatFits(maxLabelsSize)
wordLabel.frame = CGRectMake(0, 0, wordLabelSize.width, wordLabelSize.height)
wordLabel.center = CGPoint(x: wordLabel.frame.width / 2, y: wordLabel.frame.height / 2)
scrollView.addSubview(wordLabel)
let wordLabelConstraintWidth = NSLayoutConstraint(item: wordLabel, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: scrollView, attribute: NSLayoutAttribute.Width, multiplier: 1, constant: -32)
scrollView.addConstraint(wordLabelConstraintWidth)
scrollView.contentSize = CGSize(width: scrollView.frame.width - 32, height: wordLabel.frame.origin.y + wordLabel.frame.height)
scrollView 和 wordLabel 大小在应用启动时是正确的,但是当方向变为横向时,滚动会变得太高。
我真的不知道如何在方向改变时重新计算scrollView contentSize,知道吗?
【问题讨论】:
标签: ios swift autolayout uitextview