我希望格式为“hh:mm:ss”的NSString
使用与字符串“88:88:88”完全相同的像素空间量。这可能吗?
现在我正在使用:
// ...
NSMutableString * strS = [[NSMutableString alloc] initWithFormat:@"%d", Seconds];
if (Seconds<10){
[strS insertString:@"0" atIndex:0];
}
// Make the time to show
[ClocklLabel setText:[NSString stringWithFormat:@"%2@:%2@:%2@", strH,strM,strS]];
没有成功!
答案 0 :(得分:4)
我认为你正在寻找一个monospaced font。尝试使用Courier:
UIFont *courier = [UIFont fontWithName:@"Courier" size:12.0f];
label.font = courier;
如果您正在尝试创建数字时钟显示器,您还可以为每个数字使用单独的标签,并根据需要定位标签。
答案 1 :(得分:1)
您可以使用等宽字体。如果您不想这样做,请使用UILabel
并将adjustsFontSizeToFitWidth
设置为YES。但是,在这种情况下,高度会有所不同。
答案 2 :(得分:0)
你问题的标题暗示你错过了一个重要的细节。 NSString
仅包含实际文本。
不是NSString
指示字体,颜色或其他属性。正如其他答案所示,您应该将字体设置为标签/文本字段/按钮或任何可视化小工具应显示字符串。
如果要同时结合文本和文本属性,可能需要检查NSAttributedString
。