我正试图通过drawInRect:withAttributes:
方法将字符串放入矩形表格中。官方文档写道:“使用当前聚焦的UIView中指定矩形内的给定属性的字体和其他显示特性绘制接收器。”
此操作应在按钮事件上完成。但它根本不起作用。没有显示任何内容。 我使用的代码:
- (IBAction)buttonPressed:(id)sender
{
// some area on the top (a part of UIView)
CGRect rect = CGRectMake(50, 50, 100, 100);
// my text
NSString *str = @"Eh, what's wrong with this code?";
// crappy attributes
NSDictionary *attributes = @{NSFontAttributeName: [UIFont boldSystemFontOfSize:8]};
// and finally passing a message
[str drawInRect:rect withAttributes:attributes];
}
是否有特定类型的区域可用于在rects中绘制字符串?或者是否可以在我想要的矩形中绘制一个字符串?请帮助我更好地理解它!
答案 0 :(得分:3)
但它根本不起作用。什么都没有显示出来。
那是因为运行该代码时没有设置绘图上下文。您可以随时将绘图看作是可以随时执行的操作,但事实上绘图是您应该只在系统要求时执行的操作。在其他时候,你应该记住你想要绘制的内容,然后在时机成熟时绘制它。
"时间"画画?在调用您的查看-drawRect:
方法时。由于您的方法是一个动作,看起来您可能正在尝试在视图控制器中进行绘制。你想要做的是继承UIView
并覆盖-drawRect:
来绘制你想要的东西。
答案 1 :(得分:1)
它不会那样工作,你首先需要制作一个 CGContextRef 来绘制文字。
答案 2 :(得分:0)
您的代码很好,只需将所有内容放在drawRect
。