2

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

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

4

1 回答 1

6

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

希望这可以帮助。

于 2013-06-04T13:06:48.170 回答