我想知道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。我怎样才能避免这种情况,并且在我的所有屏幕上都有一种字体并只改变尺寸?
答案 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中,您可以在字体设置下选择Body
或Title 1
等内容。实际尺寸将根据用户的系统设置进行调整。以编程方式使用UIFont.preferredFont(forTextStyle: )
。有关在iOS 10和Swift 3中执行此操作的详细信息,请参阅this post。
另见
答案 2 :(得分:1)
只是添加到上面的答案。上述方法是UIFont类的成员。所以要获得默认按钮字体大小......
float defaultFontSize = [UIFont buttonFontSize];