Кратко, есть слово, которое вы не видите слишком часто в сочетании с Objective-C. Исходя из другого языка, я чувствую твою боль от таких отрывков.
Я прибег к написанию необходимых вариантов надписей один раз, а затем повторяю их много раз. Другие опубликованные ответы - все возможные варианты, хотя я не очень уверен в кратком аргументе. Ответ «LikeLabel» @ Caleb является наиболее универсальным, но вы все равно должны иметь возможность ссылаться на этот другой ярлык.
Я делаю категорию UILabel для конкретного проекта и размещаю там различные ярлыки. Единственное, что мне удобно повторять для каждого ярлыка, это рамка и текст. На самом деле нет необходимости помещать + методы в категорию, но UILabel суммирует то, что вы хотите, довольно приятно. После того, как у вас есть категории, вы должны использовать их так:
UILabel *someLabel = [UILabel headerLabelWithFrame:CGRectMake(10, 10, 256, 32) andText:@"Conciseness"];
И вот как будет выглядеть категория только с одним типом метки. Вы бы добавили больше, если это необходимо:
@interface UILabel (ProjectSpecificLabels)
+(UILabel *)headerLabelWithFrame:(CGRect)frame andText:(NSString *)text;
@end
@implementation UILabel (ProjectSpecificLabels)
+(UILabel *)headerLabelWithFrame:(CGRect)frame andText:(NSString *)text {
UILabel *label = [[[self alloc] initWithFrame:frame] autorelease];
label.text = text;
label.textColor = [UIColor colorWithWhite:1.0 alpha:1.0];
label.backgroundColor = [UIColor clearColor];
label.textAlignment = UITextAlignmentCenter;
label.font = [UIFont boldSystemFontOfSize:13.0];
label.userInteractionEnabled = NO;
return label;
}
@end
Надеюсь, это поможет.
Ура,
EP.