18

我想知道iOS应用tableView中的systemFontSize对于textLabel是否总是相同的?这是取决于风格?

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

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

我试过:

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

但是 UIFont 总是想要我的字体名/系列。我怎样才能避免这种情况并在我的所有屏幕上使用一种字体并且只更改大小?

4

3 回答 3

33

系统字体描述如下:

+ (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];
于 2012-05-07T15:01:42.203 回答
2

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

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

也可以看看

于 2015-10-02T08:51:49.103 回答
1

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

float defaultFontSize = [UIFont buttonFontSize]; 
于 2015-09-03T13:51:14.877 回答