swift - 以编程方式创建的 UITextView 的奇怪字体行为
问题描述
我更喜欢在代码中创建我的界面而不是使用 IB,但是我无法更改我创建的 UITextView 的字体大小。什么都没有。为了尝试调试问题,我使用 IB 在我的主视图中添加了一个 UITextView 以查看它是否有效 - 它确实有效。奇怪的是,我以编程方式创建的版本也可以工作,但只有当 IB 版本出现时。一旦我删除它,以编程方式创建的版本就会停止工作 - 字体大小不会改变。
使用特征,我实际上可以关闭 IB 创建的版本,这样它就不会被安装,因此永远不会出现,这仍然允许以编程方式创建的版本工作。
还有人看到这个吗?在 IB 中有一个随机元素并不是世界末日,但它令人沮丧,而且这种事情在未来将难以解释/调试。
fullWidthDetailText.isEditable = true
fullWidthDetailText.isSelectable = true
fullWidthDetailText.font = UIFont(name: "Roboto", size: 50)
fullWidthDetailText.adjustsFontForContentSizeCategory = false
fullWidthDetailText.text = "Hello world"
fullWidthDetailText.backgroundColor = UIColor.clear
fullWidthDetailText.textColor = UIColor.white
fullWidthDetailView.addSubview(fullWidthDetailText)
解决方案
字体名称可能不正确。我希望它类似于"Roboto-Regular"
但绝对可以肯定的是,将所有可用字体的名称打印到您的控制台并找到您想要的字体:
for family in UIFont.familyNames.sorted() {
print("\(family): ", UIFont.fontNames(forFamilyName: family).sorted().joined(separator: ", "))
}
请参阅如何检查字体是否在 iOS 版本中可用?详情。
请注意,字体名称通常不是用户友好的,Interface Builder 实际上会显示字体系列。
如果您仍然遇到问题,请参阅向您的应用添加自定义字体 并验证您是否已正确完成所有操作。
推荐阅读
- python - @task(hosts=[...]) 产生 Context 但 -H 产生 Connection?
- python - 扩展 x 轴以适应不同场景的相同数据
- python - 将标准从 C++ 重定向到 Python 日志文件(日志记录模块)
- python - 安排多个时间表
- wordpress - Wordpress - 按字母顺序对一个类别的帖子进行排序
- javascript - Shopify {{cart.total_price}} 在 CSS 类之外使用时不会更新
- vue.js - 代码有效,但在 Vue 中仍然收到警告
- python - 如何将拼写检查功能应用于大型数据集?
- flutter - dio 3.0发送多部分formdata请求,响应码为400
- tensorflow - 如何在张量流中使用softmax