Я новичок в подклассе, но я хотел, чтобы подкласс UILabel давал любому тексту внутри метки 3-пиксельный контур.Со страницы этой страницы я использовал этот метод:
- (void)drawTextInRect:(CGRect)rect
{
CGSize shadowOffset = self.shadowOffset;
UIColor *textColor = self.textColor;
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(c, 3);
CGContextSetLineJoin(c, kCGLineJoinRound);
CGContextSetTextDrawingMode(c, kCGTextStroke);
self.textColor = [UIColor whiteColor];
[super drawTextInRect:rect];
CGContextSetTextDrawingMode(c, kCGTextFill);
self.textColor = textColor;
self.shadowOffset = CGSizeMake(0, 0);
[super drawTextInRect:rect]; self.shadowOffset = shadowOffset;
}
Это прекрасно работает, и я могу изменить цвета, чтобы отобразить любой цвет, который я хотел бы как для текста, так и для контура.
Может кто-нибудь дать мне знать, как создать свойство с именем "outlineColor", которое позволит мне установить для этого подкласса любую метку, которую я хочу, и изменить цвет контура?
По сути, яЯ хотел бы иметь возможность установить класс метки на «CustomLabelClass», а затем в каком-то другом классе я хотел бы сказать что-то вроде:
[myLabel setOutlineColor:[UIColor whiteColor]];
Я не уверен, как это сделать.Спасибо.