如何获取UILabel的字体大小和字体名称?


Answers:


254

在视图控制器的.h文件中添加一个属性:

@property (nonatomic, retain) IBOutlet UILabel *label;

将标签链接到Interface Builder中“文件所有者”插座下的IBOutlet。如果不使用ARC,请确保在-dealloc中释放它

- (void)dealloc
{
    [self.label release];
    [super dealloc];
}

然后要获取字体名称和大小,您需要的是

NSString *fontName = self.label.font.fontName;
CGFloat fontSize = self.label.font.pointSize;

3
不起作用。我可以在其中写文本,但是fontName和pointSize为null。
蒂姆(Tim)

您的意思是您可以通过编程方式更改标签的文本,但无法访问fontName和pointSize吗?我编辑了上面的答案以包括self.label,而不只是label,因为我没有提到为label创建实例变量。

另外,请确保已将Interface Builder中的标签与在File's Owner(视图控制器)中创建的IBOutlet挂钩。

2
啊,我忘记了IB中与文件所有者的连接。


15

Pointssize值不是UIFont size属性中使用的“字体大小”。假设您将界面生成器的字体大小设置为14并打印pointSize,则只会得到11。


似乎现在正在工作。如果我在界面生成器/情节提要编辑器中将标签的字体大小设置为17 ...,则myLabel.font.pointSize返回
17。– Derek Soike

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.