[英]Drawing strings in iPhone
我正在使用以下方法绘制字符串。
-(void) drawRect:(CGRect)rect
{
NSString *mName = @"Hi what are you doing";
[mName drawInRect:CGRectMake(0,0,100,12) withFont:[UIFont boldSystemFontOfSize:12] lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter]
}
是否有可能在iPhone中以不同的字体绘制为“ Hi”,在iPhone中以不同的字体绘制为“ what”。
使用方法drawAtPoint:withFont:
绘制每个单词。 您必须计算每个绘制的字符串的位置。 这可以通过sizeWithFont:
-method完成。 例如:
NSString* firstString = @"Hi ";
NSString* secondString = @"what";
// where to draw
CGPoint position = CGPointMake(0, 0);
CGFloat offset = [firstString sizeWithFont:font1].width + kSpaceBetweenWords;
// draw "Hi" with font1
[firstString drawAtPoint:position withFont:font1];
// draw "what" with font2
[secondString drawAtPoint:CGPointMake(position.x+offset, position.y) withFont:font2];
不,您需要执行两个绘制请求-每个字体请求一个-但这很简单。
如果文本是动态的,那么要知道将文本放置在何处并不是不重要的。 在那种情况下,我建议子类化UIView和drawRect方法,然后自己绘制。
NSAttributedString稍后可用于iOS 3.2。 你可以试试看 否则核心文本库在那里可以实现相同的目标...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.