2012-05-07 54 views
10

我想知道如果iOS应用tableView中的systemFontSize是总是对textLabel一样吗?这是取决于风格?例如当我NSLog(@"%f",[UIFont systemFontSize]);我越来越14.0。这总是一样的吗?iOS基金会:系统字体大小

更重要的是:如何在不更改字体系列的情况下更改字体大小(假设我在我的plist中拥有自己的字体)。

我想:

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

但UIFont总想为我的字体名/家庭。我如何避免这种情况,并有一个字体到我的所有屏幕,并只改变大小?

回答

25

系统字体的描述如下:

+ (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]; 
+0

有因为iOS的7提供了新的选择,如'[UIFont preferredFontForTextStyle:UIFontTextStyleBody]'也通知'UIContentSizeCategoryDidChangeNotification'来监视系统宽字体的变化。 –

1

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

float defaultFontSize = [UIFont buttonFontSize]; 
2

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

在界面生成器中,您可以在字体设置下选择诸如BodyTitle 1之类的东西。实际大小将根据用户的系统设置进行调整。以编程方式使用UIFont.preferredFont(forTextStyle:)。见this post为更多细节在iOS的10和斯威夫特3.

见这样也

+0

@AdilSoomro,我无法找到一个很好的文档替换链接,但我确实将所有链接替换为更好的链接。谢谢你让我知道。 – Suragch