我有一个 UILabel 的子类,其属性 lineSpacing
设置如下:
var lineSpacing = CGFloat(20.0)
当我在这里使用它时,它会向上推文本,即使它没有用于任何用途,我也删除了除该属性之外的所有代码:
class CustomLabel : UILabel {
var lineSpacing = CGFloat(20.0)
}
它仍然向上推,我更改了属性的名称并修复了它,我只是想知道这是从哪里来的,因为我无法从 访问
lineSpacing
UILabel
regularLabel.lineSpacing
报错。
最佳答案
是的,UILabel
有一个未记录的、非公开的 lineSpacing
属性。您可以在这个根据运行时 Objective-C 元数据创建的头文件中看到它:
https://github.com/nst/iOS-Runtime-Headers/blob/master/Frameworks/UIKit.framework/UILabel.h
由于它不是公开的,如果您将其提交到 App Store,覆盖它(即使是意外地)可能会导致 Apple 拒绝您的应用。
关于swift - lineSpacing 是 UILabel 的属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709704/