ios开发之在iOS应用中加载自定义字体显示

众说周知,在iOS系统提供的字体是有限的,我们可以利用 UIFont类取出查看iOS系统支持的所有字体类型。

在此以UITableView列表来展示iPhone支持的所有字体类型。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

//字体家族总数

return [[UIFont familyNames] count]; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

//字体家族包括的字体库总数 return [[UIFont fontNamesForFamilyName:[[UIFont familyNames] objectAtIndex:section] ] count]; } - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { //字体家族名称 return [[UIFont familyNames] objectAtIndex:section]; }

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index { [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:index] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; return index; }

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; }

// Configure the cell. cell.textLabel.textColor = indexPath.row %2 ? [UIColor orangeColor] : [UIColor magentaColor];  

//字体家族名称 NSString *familyName= [[UIFont familyNames] objectAtIndex:indexPath.section];

//字体家族中的字体库名称 NSString *fontName = [[UIFont fontNamesForFamilyName:[[UIFont familyNames] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];  

cell.textLabel.font = [UIFont fontWithName:fontName size:14.0f]; //查找微软雅黑字体 if([fontName isEqualToString:@"MicrosoftYaHei"]) { NSLog(@"微软雅黑"); } cell.textLabel.text = [NSString stringWithFormat:@"%@ - %@", familyName, fontName ]; return cell;

}


在iOS应用中加载自定义字体显示 - 千相思 - 专注于移动应用开发

 这样可以获得系统所支持的所有字体类型。

但问题是,设计师在设计UI效果图时经常会使用其他的字体,怎么样才能使我们的应用支持这些字体显示了?

解决方法其实也很简单,  你自需如下几步就可以实现自定义的字体显示了。(在此以常用的 微软雅黑 字体 为例)


1.   找到你需要的字体库.ttf文件,导入到项目工程中
在iOS应用中加载自定义字体显示 - 千相思 - 专注于移动应用开发
 

2.   在Info.plist文件中,加入自定义字体库支持的说明
在iOS应用中加载自定义字体显示 - 千相思 - 专注于移动应用开发
 
3.   在系统提供的UIFont类中,查找到你需要的字体库再设置到需要显示的控件上即可。

在iOS应用中加载自定义字体显示 - 千相思 - 专注于移动应用开发
 
现在在列表中已经能看到我们自定义的字体库 微软雅黑 (MicrosoftYaHei)。  在列表中显示的效果图如下所示:
在iOS应用中加载自定义字体显示 - 千相思 - 专注于移动应用开发
 
就这么简单!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值