我不得不绘制与所有类型的文本对齐的下划线-多行文字。我搜索过论坛,并得到了一些成果,如:

HTTP://davidjhinson.wordpress。 COM / 2009 /26分之11/下划线文本 - 上的-iphone /

http://forums.macrumors.com/showthread.php?t=561572

但是,对于仅一行的所有画文本。虽然我还多行文本。当文本的对齐方式为中心,情况甚至变得更糟。我搜索,发现在iphone-SDK-3.2有用于强调文本,但不知道如何使用,一些核心文本属性。再说,如果我用我的这些问题将不会被完全解决。

正如我不得不也绘制删除线的文本。

有关于这个请大家帮忙想法

任何人。

有帮助吗?

解决方案

了解这个什么。这工作对我好你都认为,如果这需要一些优化?

CGContextSetFillColorWithColor(c, [[UIColor blackColor] CGColor]);          //THE TEXT COLOR OF THE STRING TO BE DRAWN.

            UIFont *fontName = [UIFont fontWithStyle:@"Arial-BoldMT" andFontSize:13];

            if(FontOverLayUnderLine || FontOverLayStrikeThrough){

                NSArray *stringsArray = [textString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
                CGContextSetStrokeColorWithColor(c, [appDel.textDisplayStyle.fillColor CGColor]);
                CGContextSetLineWidth(c, 1.0);
                CGSize stringSize;
                NSString *stringToDraw;
                for (int i = 0 ; i < [stringsArray count]; i++) {

                    stringToDraw = [stringsArray objectAtIndex:i];

                    if(![[stringToDraw stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] isEqualToString:@""]){

                        stringSize = [stringToDraw sizeWithFont:fontName forWidth:rect.size.width lineBreakMode:UILineBreakModeCharacterWrap];

                        float x = rect.origin.x + (rect.size.width-stringSize.width)/2 + 7;
                        float y = 4 + stringSize.height*i;

                        [stringToDraw drawAtPoint:CGPointMake(x, y) forWidth:stringSize.width withFont:fontName lineBreakMode:UILineBreakModeCharacterWrap];

                        if(FontOverLayUnderLine)
                            y += (1.05) * stringSize.height*i +1;
                        else
                            y += (stringSize.height/2)+1;

                        CGContextMoveToPoint(c, x, y);
                        CGContextAddLineToPoint(c, x+stringSize.width, y);
                        CGContextStrokePath(c);
                    }
                }

            }

希望这个作品对所有人都有利。

谢谢,

Madhup

其他提示

使用核心文本。

  

我搜索,发现在iphone-SDK-3.2有用于强调文本的一些核心文本属性,但不知道如何使用它。

这就是文档是用于

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top