Если вы хотите изучать 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;
}
Тогда, когда я использую этот метод, другой код становится чище:
UILabel *nameLabel = [self makeLabel];
nameLabel.text = userName;
UILabel *titleLabel = [self makeLabel];
titleLable.text = myTitle;
// Both labels have consistent style.
PengOne предлагает создать подкласс UILabel. Это вариант, хотя я думаю, что этот фабричный метод справляется со своей задачей с меньшим количеством работы.