这是我在这个留言板上的第一个问题,所以请放轻松我:)
不久之前,我遇到了一段有用的代码来更改UILabel,这基本上用黑色(或其他颜色)轮廓标记了标签中的文字。
- (void)drawTextInRect:(CGRect)rect; {
CGSize shadowOffset = self.shadowOffset;
UIColor *textColor = self.textColor;
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(c, 2);
CGContextSetLineJoin(c, kCGLineJoinRound);
CGContextSetTextDrawingMode(c, kCGTextStroke);
self.textColor = [UIColor blackColor];
[super drawTextInRect:rect];
CGContextSetTextDrawingMode(c, kCGTextFill);
self.textColor = textColor;
self.shadowOffset = CGSizeMake(0, 0);
[super drawTextInRect:rect];
self.shadowOffset = shadowOffset;
}
我成功地使用它作为一个很好的模板来继承我的UILabels,现在我想说我对子类化有了一个公平的理解。
我想要做的是使用此子类作为UIButton的UILabel部分,以便我的按钮中的文本具有匹配的黑色轮廓。
任何帮助,甚至只是指向正确的方向都将非常感激。
由于
戴夫
答案 0 :(得分:0)
为什么不只是子类UIButton
,然后在该子类中对您在UILabel
子类中对按钮的label属性进行相同的更改。基本上,您会以完全相同的方式执行所有操作,但所有更改都会引用self.titleLabel
而不仅仅是self
。