一、绘制文字

1.接下来呢,我们来说这个绘制文字,

绘制文字,我们通过OC的方法来画,实际上,就是两个方法:
1)- [str drawAtPoint:]
2)- [str drawInRect:]
把我们之前的copy代码复制粘贴一份儿,名字改成“04-绘制文字“,

2.绘制文字:
1)首先:要想绘制文字,你要有文字:
NSString *str = @“一个程序员”;

2)第二:我们再来第二步,第二步,实际上,一句话,就可以达到绘制的目的,然后呢,绘制的话啊,通过这个字符串对象,调用

调用draw的方法,

draw,然后呢,会有两个方法,这个里边啊:
1)drawInRect:(CGRect) withAttributes:(NSDictionary< NSString *,id > * )
2)drawAtPoint:(CGPoint) withAttributes:(NSDictionary< NSString *,id > *)
然后呢,我们一个一个来看,
3.我们先来看这个drawAtPoint:

str drawAtPoint:(CGPoint) withAttributes:(NSDictionary *)
先来写一个drawAtPoint:输入两个参数:
1)第一个参数:drawAtPoint:(CGPoint),在这个里边儿呢,写一个CGPointMake(CGFloat x,CGFloat y),我在这个里边呢,先传一个CGPointZero,

CGPointZero,

2)第二个参数:withAttributes:(NSDictionary *),然后呢,后边儿,让你传一个Attributes,

然后呢,让你传的是一个字典,
这个字典呢,我先传nil,

这个字典呢,我先传空,最后我们再来讲这个字典的问题,然后,就这两句代码,

command + R,

这个文字,就画完了啊,
3.然后呢,实际上啊,我们虽然看起来,这个绘制字符串,应该没啥,实际上,就感觉这一句话,感觉就写了一句话,实际上,这一句话啊,

1)它也是获取到了当前的上下文,
2)然后呢,把这个文字,变成一个路径,放到你的上下文当中,
3)然后,再通过上下文,去进行渲染,
然后呢,它这一句话,也是做了这么多事情,
绘图的步骤,一定是不变的,
都是这三步,
在这个里边呢,我们通过它,可以来去绘制文字,
[str drawAtPoint:CGPointZero withAttributes];
那么,现在呢,有一个问题,问题是什么,我现在把这个字符串,如果很长的话,

command + R,

这块儿看的,我给它变成四个字啊,四个字,整好,

看最后一个字啊,

最后一个字是“黑”,这个里边呢,后面的文字,它好像绘到后面去了,是吧,
这个时候,好像它不能够换行,
所以呢,我们想解决这个换行的问题,怎么办,
好,这个里边儿,还有一个方法,你的这个str对象里边儿,draw里边儿,还有一个叫做drawInRect:方法,

str draw InRect:(CGRect) withAttributes:(NSDictionary *)

输入两个参数:
1)第一个参数:drawInRect:(CGRect),这个里边儿,让你传的是一个Rect,如果,你直接把rect传进来,

直接把rect传进来,

如果你直接把这个当前View的bounds传进来,
2)第二个参数:withAttributes:来一个nil,第二个这个字典,传空的话,

command + R,


这篇博客详细介绍了在Objective-C中如何使用`drawAtPoint:`和`drawInRect:`方法来绘制文字。博主通过实例演示了如何设置文字的位置、大小、颜色、阴影等属性,并强调了字典参数与NSAttributedString.h头文件的关系。同时,博客提到了这两个方法在绘制文字过程中的工作原理和注意事项,如文字换行、阴影效果等。
389

被折叠的 条评论
为什么被折叠?



