Apple 的 drawTextInRect 文档似乎表明这是可能的:



但是下面来自我的 UILabel 子类(我已经确认它被调用)的示例不会导致文本大小改变,无论我指定什么文本大小。我是捕获了正确的上下文还是遗漏了更大的东西?

- (void)drawTextInRect:(CGRect)rect{

    CGContextRef theContext = UIGraphicsGetCurrentContext();
    CGContextSetFontSize(theContext, 32.0); // <-- doesn't change text size

    [super drawTextInRect:rect];
}

注意 - 文本大小并不是我需要更改的唯一文本大小,但如果我可以更改文本大小,我很确定我需要进行的其余更改会很容易。

最佳答案

/* use CGContextSetLineWidth() and CGContextSetStrokeColorWithColor()
 to adjust your outline settings: directly preceding StrokeRect() */


- (void)drawTextInRect:(CGRect)rect{

    [super drawTextInRect:rect]; // let super do the work

    CGContextStrokeRect(UIGraphicsGetCurrentContext(),rect);
}

关于objective-c - 可以覆盖 UILabel 的 drawTextInRect 方法以更改 UILabel 文本的大小吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1108440/

10-09 06:09