我的UITextView
不显示其text
,我也不知道为什么。
let linkLabel: UITextView = {
let v = UITextView()
v.backgroundColor = .clear
v.text = "Link"
v.textColor = .lightGray
v.font = UIFont(name: "AvenirNext", size: 18)
v.font = v.font?.withSize(18)
v.textAlignment = .right
v.translatesAutoresizingMaskIntoConstraints = false
return v
}()
之前是UILabel
,并且运行良好。但我需要将其设为UITextView
。但是,如果像代码中那样将其更改为UITextView
,则不会显示文本。
知道为什么会这样吗?
您的UITextView框架等于CGRect.zero,并且与UILabel不同,UITextView没有intrinsic框架。这就是为什么您看不到它的原因。
解决方案>>
UITextView(frame: CGRect(x: 0, y: 0, width: 100, height: 30))
let v = UITextView()
v.frame = CGRect(x: 0, y: 0, width: 100, height: 30)
重要:
必须通过InterfaceBuilder或代码将linkLabel添加到视图中
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(linkLabel)
}
您可以像下面一样使用sizeToFit()和isScrollEnabled为false