我正在尝试用笔划绘制一块文本。所以做一些搜索和实验似乎这样做的方法是继承UIView并在drawRect中用笔画绘制文本。绘图代码如下。
我设置它的方式是,我使用 UITextView 以交互方式输入我想要的文本,然后将文本传递给用笔划绘制的 UIView 子类广告。
这似乎工作得很好。唯一的问题是当按下回车键(创建一个新行),或者换行因为它变得对于 UITextView 来说太宽,这个信息没有传递,所以在我绘制的渲染(描边)文本中没有新行在 UIView 子类中。
有什么帮助吗?
绘制代码(注意 theText 是传递 UITextView 文本的属性):
UIFont *font = [UIFont fontWithName:@"Arial" size:fontSize];
CGPoint point = CGPointMake(0,0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(context, 4.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);
[theText drawAtPoint:point withFont:font];
CGContextRestoreGState(context);