【问题标题】:Why doesn't text start at 0,0?为什么文本不从 0,0 开始?
【发布时间】:2013-05-30 21:26:11
【问题描述】:

iOS 的这个问题困扰了我一段时间:

在设计时,我会按照我希望它们的外观布置我的元素。进入编码,我测量事物之间的距离,以便正确放置每个元素。在图像上使用UIImageViewdrawRect: 可以正常工作,并将其以正确的大小放置在正确的位置。但是,在文本上使用 UILabeldrawRect: 不会在正确的位置开始它 - 它有几个像素。我最终回到 Photoshop 并测量它的距离,与它应该的距离相比,为了弄清楚我需要调整它的位置多少。每次绘制文本时,我都必须这样做。这个问题有没有我不知道的解决方案。

【问题讨论】:

  • 你能举例说明你的意思吗?并且可能包含一些代码。

标签: ios cocoa-touch layout graphics uilabel


【解决方案1】:

原因是在(0, 0)CGPoint 处绘制文本指定了文本的基线,而不是左上角。您需要获取文本的基线,并将其偏移该数量,或使用此处指定的drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 2012-12-21
    • 2020-04-25
    • 1970-01-01
    • 2020-06-07
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多