15
如何使UILabel显示轮廓文本?
我只需要在白色UILabel文字周围添加一个像素的黑色边框。 我使用下面的代码将UILabel子类化,从一些与切向相关的在线示例中我巧妙地将它们拼凑在一起。它可以工作,但速度非常非常慢(除了在模拟器上),而且我也无法使其垂直居中放置文本(因此我暂时将y值硬编码在最后一行)。啊! void ShowStringCentered(CGContextRef gc, float x, float y, const char *str) { CGContextSetTextDrawingMode(gc, kCGTextInvisible); CGContextShowTextAtPoint(gc, 0, 0, str, strlen(str)); CGPoint pt = CGContextGetTextPosition(gc); CGContextSetTextDrawingMode(gc, kCGTextFillStroke); CGContextShowTextAtPoint(gc, x - pt.x / 2, y, str, strlen(str)); } - (void)drawRect:(CGRect)rect{ CGContextRef theContext = UIGraphicsGetCurrentContext(); CGRect viewBounds = self.bounds; CGContextTranslateCTM(theContext, 0, viewBounds.size.height); CGContextScaleCTM(theContext, …