zoukankan      html  css  js  c++  java
  • 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

    {

    staticNSString*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应用中加载自定义字体显示 - 千相思 - 专注于移动应用开发

     
    就这么简单!

  • 相关阅读:
    闭包函数+装饰器(第十一天)
    函数初接触2
    函数初接触
    第八天
    第八天
    第七天
    day4—day6作业(补发)
    第六天
    第五天
    python基础学习-常用模块的使用(扩展补充,高级使用)(三)
  • 原文地址:https://www.cnblogs.com/ruzhuan/p/3185915.html
Copyright © 2011-2022 走看看