iOS 的这个问题困扰了我一段时间:
在设计时,我会按照我希望它们的外观来布置我的元素。进入编码阶段,我会测量事物之间的距离,以便正确放置每个元素。在图像上使用 UIImageView
或 drawRect:
效果很好,并以正确的大小将其放在正确的位置。但是,在文本上使用 UILabel
或 drawRect
: 并没有在正确的点开始它 - 它超出了几个像素。我最终回到 Photoshop 并测量它的距离,与它应该的距离相比,以便弄清楚我需要调整它的位置多少。每次绘制文本时我都必须这样做。有没有我不知道的解决这个问题的方法。
最佳答案
原因是在 (0, 0)
的 CGPoint
处绘制文本指定了文本的基线,而不是左上角。您需要获取文本的基线,并将其偏移该数量,或使用 drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:
此处指定:http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html
希望这对您有所帮助。
关于ios - 为什么文本不从 0,0 开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918581/