pix*_*eak 2 iphone objective-c uilabel ios
我有几个UILabel具有相同视觉处理的s.我不是每次都重新定义每一个属性,而是考虑复制一个实例并更改文本.这是怎么做的?
另一种方法是创建一个工厂方法,但我不喜欢这个想法.
如果你愿意学习Three20,你可以使用这个TTLabel与Three20的样式表系统结合的类,它基本上是为解决你的问题而设计的.但是,我个人在解析Three20的所谓文档时遇到了麻烦,所以我认为学习使用这个库来解决你的问题需要大量的开销.
我解决这个问题的方法是组建一个迷你工厂方法,如下所示:
// Example:
- (UILabel *)makeLabel {
UILabel *label = [[[UILabel alloc] init] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont systemFontOfSize:kMyFontSize];
label.textColor = [UIColor blueColor];
label.textAlignment = UITextAlignmentCenter;
[self.view addSubview:label];
return label;
}
Run Code Online (Sandbox Code Playgroud)
然后,当我使用此方法时,其他代码变得更清晰:
UILabel *nameLabel = [self makeLabel];
nameLabel.text = userName;
UILabel *titleLabel = [self makeLabel];
titleLable.text = myTitle;
// Both labels have consistent style.
Run Code Online (Sandbox Code Playgroud)
PengOne建议继承UILabel.这是一个选择,虽然我认为这种工厂方法能够以更少的工作完成工作.
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |