所以这是我当前的 viewdidload 和设置 View 函数的代码
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(bearImageView)
view.addSubview(descriptionText)
view.addSubview(startButton)
setupView()
}
@objc private func start() {
}
private func setupView() {
bearImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
bearImageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 100).isActive = true
bearImageView.widthAnchor.constraint(equalToConstant: 200).isActive = true
bearImageView.heightAnchor.constraint(equalToConstant: 250).isActive = true
descriptionText.topAnchor.constraint(equalTo: bearImageView.bottomAnchor, constant: 10).isActive = true
descriptionText.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
descriptionText.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
startButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
startButton.topAnchor.constraint(equalTo: descriptionText.bottomAnchor, constant: 140).isActive = true
startButton.widthAnchor.constraint(equalToConstant: 80).isActive = true
startButton.heightAnchor.constraint(equalToConstant: 40).isActive = true
}
熊图和按钮约束都可以正常工作(减去水平翻转手机但稍后会修复)但是文本只是拒绝显示。文本是以编程方式制作的,例如 let descriptionText = UITextView = {...}() 等。你们中的任何一个有想法吗?
最佳答案
如果仔细观察,您会错过 UITextView 的高度约束。如果您使用的是 UILabel 或 UITextField 它们不需要高度限制并且可以根据它的内部内容计算它们的高度但是 UITextView 不会这样做因为如果内容超过它的高度它会开始滚动那是为什么它不能根据它的内部内容设置高度,默认情况下它的高度为零。
同时向您的 UITextView 添加一个 HeightConstraint。
// This will fix your problem
descriptionText.heightAnchor.constraint(equalToConstant: 120).isActive = true
关于ios - 添加约束后文本不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46456246/