iOS Foundation:系统字体大小

时间:2012-05-07 14:52:12

标签: objective-c ios uifont

我想知道iOS app appView中的systemFontSize 始终是否与textLabel相同?这取决于风格?

例如,当我NSLog(@"%f",[UIFont systemFontSize]);时,我得到14.0。这总是一样的吗?

还有更多:如何在不更改font-family的情况下更改字体大小(假设我的plist中有自己的字体)。

我试过了:

cell.textLabel.font = [UIFont fontWithName:@"Sansation-Light" size:12.0];

但是UIFont总是想要我的fontname / family。我怎样才能避免这种情况,并且在我的所有屏幕上都有一种字体并只改变尺寸?

3 个答案:

答案 0 :(得分:30)

系统字体描述如下:

+ (CGFloat)labelFontSize;//Returns the standard font size used for labels.
+ (CGFloat)buttonFontSize;//Returns the standard font size used for buttons.
+ (CGFloat)smallSystemFontSize;//Returns the size of the standard small system font.
+ (CGFloat)systemFontSize;//Returns the size of the standard system font.

并且您可以更改字体大小而不使用如下字体系列:

cell.textLabel.font = [UIFont systemFontOfSize:14];

答案 1 :(得分:2)

系统字体大小并不总是相同。从iOS 7开始,有Dynamic Type。用户可以在系统设置中设置其首选字体大小。这是应用程序现在获取和设置字体大小的推荐方式。

在Interface Builder中,您可以在字体设置下选择BodyTitle 1等内容。实际尺寸将根据用户的系统设置进行调整。以编程方式使用UIFont.preferredFont(forTextStyle: )。有关在iOS 10和Swift 3中执行此操作的详细信息,请参阅this post

另见

答案 2 :(得分:1)

只是添加到上面的答案。上述方法是UIFont类的成员。所以要获得默认按钮字体大小......

float defaultFontSize = [UIFont buttonFontSize];