我有一个包含两个UILabel的自定义视图。我之前想要自定义他们的字体,所以我在initWithCoder方法中做了这个。
@implementation HomeTitleView
@synthesize ticketLabel;
@synthesize monthLabel;
- (id) initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
[monthLabel setFont:[UIFactory getFontForKey:@"home_month"]];
[ticketLabel setFont:[UIFactory getFontForKey:@"home_ticket"]];
}
return self;
}
@end
不幸的是,这不起作用。使用调试器,我发现monthLabel和ticketLabel都是零。任何人都知道如何解决这个问题?我应该实施什么回调或方法,以便我可以访问我的两个标签?
答案 0 :(得分:5)
你做不到。这些观点尚不存在。它们在调用loadView
方法时被实例化,这在首次访问view
属性时自动发生。如果您想在加载后操纵视图,请使用正确的方法viewDidLoad
。
编辑:假设您正在使用UIViewController
课程。如果您使用的是UIView
课程,则可以使用awakeFromNib
或didAddSubview:
。
答案 1 :(得分:0)
您是否曾将monthLabel和ticketLabel分配给UILabel?类似的东西:
self.monthLabel = [[[UILabel alloc] init] autorelease];
self.ticketLabel = [[[UILabel alloc] init] autorelease];
如果有,您可以使用代码更新帖子吗?