绘制文本方法不起作用

时间:2012-08-17 23:47:14

标签: objective-c ios nsstring

我有一个在rect中绘制字符串的方法,但由于某种原因它不起作用。

以下是代码:

- (void) drawString: (NSString*) s withFont: (UIFont*) font inRect: (CGRect) contextRect {

    CGFloat fontHeight = font.pointSize;
    CGFloat yOffset = (contextRect.size.height - fontHeight) / 2.0;

    CGRect textRect = CGRectMake(0, yOffset, contextRect.size.width, fontHeight);

    [s drawInRect: textRect withFont: font lineBreakMode: UILineBreakModeClip
        alignment: UITextAlignmentCenter]; }

谢谢!

1 个答案:

答案 0 :(得分:1)

这里有两个选择。您可以在您编写的某个自定义视图中实现“drawRect:”,向该视图添加属性以设置字符串,以及何时希望更新字符串告诉视图重新显示:

[myCustomView setNeedsDisplay];

另一方面,如果您希望将字符串放入图像中,您将使用不同的方法打开图形上下文,将字符串绘制到上下文(位图)中,然后获取从上下文创建的图像。