繁体   English   中英

在iPhone中画线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM