如何居中对齐,忽略某些字符?

时间:2011-09-05 02:52:52

标签: iphone cocoa-touch interface-builder

看看这个UILabel。它是中心对齐的:

enter image description here


现在看看这个UILabel。虽然它在技术上是中心对齐的,但实际上看起来并不那样:

enter image description here


之所以看起来这是因为中心对齐将度数符号视为第三个字符,从而将其他两个向左碰撞一点。我的问题是:在对齐标签时,有没有办法忽略某些字符?

2 个答案:

答案 0 :(得分:1)

有趣的问题。我想到的唯一解决方案是在前面填充text字符串,以取消背面忽略的字符。

也就是说,要将@"60d"置于中心@"60",请将text设置为@" 60d"。这适用于固定宽度字体,但除此之外只是粗略的近似。

如果您喜欢这个想法,并希望对它有所了解,那么您可以使用NSString方法

– stringByPaddingToLength:withString:startingAtIndex:

可能与– rangeOfCharacterFromSet:或某种此类方法一起确定要填充的空格数。

答案 1 :(得分:1)

您当然可以测量文本字符串并计算自己的定位,而不是在更大的字段中使用文本对齐。

假设您不想这样做,我想到的另一个想法是显示字符串“°60°”,第一个字符的样式为不透明度0且没有阴影。

我没有进行iOS开发,所以我不知道它们有多实用。