【问题标题】:How to right align text using Core Graphics如何使用 Core Graphics 右对齐文本
【发布时间】:2013-02-17 20:27:31
【问题描述】:

我想在使用 Core Graphics 绘图时右对齐多个文本。下面是我现在用来绘制文本的代码。如何绘制多个右对齐的文本?

CGContextSelectFont(context, "Helvetica-Light", 10.0f,kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetFillColorWithColor(context, _privateColor.CGColor);
CGContextShowTextAtPoint(context, point.x, point.y, [text cStringUsingEncoding:NSUTF8StringEncoding], text.length);

【问题讨论】:

    标签: ios text core-graphics


    【解决方案1】:

    也许你正在寻找这样的东西......

    [@"Any text what you like to show" drawInRect:CGRectMake(0.f, 0.f, 320.f, 80.f) withFont:[UIFont fontWithName:@"Helvetica-Light" size:10.f] lineBreakMode:NSLineBreakByWordWrapping alignment:NSTextAlignmentRight];
    

    更新

    不幸的是,这种方式在 iOS7+ 中已被弃用。 source.

    【讨论】:

    • 谢谢。既然您提出了这个解决方案,我想我对什么是核心图形和什么是核心文本感到困惑。我认为这是核心文本。我想我不知道是否有关于将此代码与 Core Graphics 代码混合的规则。我所有的绘图代码都以“CGContext ...”为前缀。无论如何,这是让我阅读而不是在这篇文章上提问。感谢你的回答。我喜欢你的回答,所以请继续关注我的问题……我一定会为你的答案投票。
    • @eddieios:不,你的代码是 Core Graphics 而holex 是 UIKit。你可以通过前缀来判断:Core Graphics 是 CG,UIKit 是 UI,Core Text is CT
    • UILineBreakModeWordWrap 在 iOS 6 中已弃用。
    • @MosibAsad,然而,值确实是完全相同的。
    【解决方案2】:
    [@"your Text" drawInRect:CGRectMake(0.f, 0.f, 320.f, 80.f) withAttributes:"dictionary with text attributes"];
    

    这里的属性是指文字字体、文字大小、对齐方式等

    可以使用带有文本的 NSMutableParagraphStyle 对象设置对齐方式,即 lineBreakMode 等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-19
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多