有一次我将uilabel分类并在app中使用它。这很久以前,效果很好。但现在我在iphone 4s(ios 9.1)上运行app,这个标签显示为空。我将标签背景设置为某种颜色,它就像在所有其他设备上一样正确定位在屏幕上,除了里面没有文字。在调试中,我记录标签并告诉我文本已正确设置。
<MainInstructions: 0x7fbbe2f77810; baseClass = UILabel;
frame = (20 60.5; 280 39.5);
text = 'Sign in or create a new a...';
opaque = NO;
autoresize = RM+BM; userInteractionEnabled = NO;
layer = <_UILabelLayer: 0x7fbbe2f9b980>>
有人可以帮我解决这个问题。即使我在子类中注释了所有代码,问题仍然存在。
更新
我发现如果删除标题文件中的唯一属性,则会在屏幕上显示文本。但它奇怪,因为这个属性没有以任何方式使用,因为我注释掉了.m文件中的所有代码。下面是标题:
#import <UIKit/UIKit.h>
@interface MainInstructions : UILabel
@property (nonatomic) CGFloat lineSpacing;
@end
解 问题在于名为lineSpacing的属性,它是apple使用的私有属性,这样我就错误地覆盖了它。