2

这是我在这个留言板上的第一个问题,所以请放轻松:)

不久前,我遇到了一段有用的代码来更改 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;

}

我成功地用它作为一个很好的模板来继承我的 UILabel,现在我想说我对子类有一个公平的理解。

我想做的是使用这个子类作为 UIButton 的 UILabel 部分,以便我的按钮中的文本具有匹配的黑色轮廓。

任何帮助,甚至只是指出正确的方向,将不胜感激。

谢谢

戴夫

4

1 回答 1

0

为什么不只是 subclass ,然后在该子类中对按钮的 label 属性UIButton进行与您在子类中所做的相同的更改。UILabel基本上你会以完全相同的方式做所有事情,除了你的所有更改都会引用self.titleLabel而不是self.

于 2013-08-15T22:49:02.257 回答