在日常开发中,为了页面显示效果的多样性,除了系统默认的字体,还可以使用其它系统自带字体,下列代码可以在一个UIScrollView中显示出不同的字体显示出的数字、中文、英文的效果,便于开发者对比使用.
在iOS自带库中,字体分为两级,类似于word中的字体.
UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:mainScrollView];
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indexFamily, indexFont;
int index = 0;
for (indexFamily = 0; indexFamily < [familyNames count]; ++indexFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indexFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indexFamily]]];
for (indexFont = 0; indexFont < [fontNames count]; ++indexFont)
{
index ++;
NSLog(@" Font name: %@", [fontNames objectAtIndex:indexFont]);
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 30 * index, self.view.frame.size.width, 20)];
label.text = [NSString stringWithFormat:@"%d 字体 %@", index, [fontNames objectAtIndex:indexFont]];
label.font = [UIFont fontWithName:[fontNames objectAtIndex:indexFont] size:16];
[mainScrollView addSubview:label];
}
}
mainScrollView.contentSize = CGSizeMake(0, 30 * (index + 1));
[self.view addSubview:mainScrollView];
这样页面中就可以显示出不同的字体的不同效果了,如下图: