ios - Swift - UITextView 不显示文本
问题描述
我的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 没有内在框架。这就是为什么你看不到它。
解决方案
- 使用初始化(帧:CGRect)
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 或在代码中使用 UIView 对象的 view.addSubview 方法将 linkLabel 添加到视图中
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(linkLabel)
}
调试技术:
- 调试视图层次结构
单击调试区域顶部栏中的Debug View Hierarchy按钮以检查暂停应用的视图层次结构的 3D 渲染
推荐阅读
- kubernetes - 为什么我的 kubernetes 证书仍然在浏览器中显示 DNS Name=ingress.local?
- javascript - 如何在 React/Next 中安全地在客户端缓存加密密码?
- firebase - 我想将实时数据库转换为云 Firestore
- mongodb - mongodb 可以在单个字段上每秒提供多少增量?
- c# - WPF 导航删除以前的页面
- haskell - 在 Haskell 中,使用给定列表中的重复元素创建一个包含子列表的列表
- python - Gstreamer 管道在 EOS 上挂起
- python - Pyinstaller 等到脚本完成?
- c++ - Makefile 的问题
- python - 将 Pandas 系列中的文本替换为另一个系列中的值