- 浏览: 903933 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
准备:
字体文件(.ttf,.odf)
方法1:
添加对应的字体(.ttf或.odf)到工程的resurce,使用cocos2d中的FontLabel库,FontLabel继承于UILabel,象UILabel一样使用就好了
fontName直接使用添加的资源名字即可
方法2:
1.添加对应的字体(.ttf或.odf)到工程的resurce,例如my.ttf
2.在info.plist中添加一项 Fonts provided by application (item0对应的value为my.ttf,添加多个字体依次添加就可以了)
3.使用时 aLabel.font=[UIFont fontWithName:@"XXX" size:30]; 注意XXX不一定是my,这里是RETURN TO CASTLE,
// Family name: RETURN TO CASTLE
// Font name: RETURNTOCASTLE
//双击,Mac下窗口的标题栏有字体的Family name,Windows下能显示Family name和Font name,下面这句用Family name和Font name都可以
self.labelTest1.font = [UIFont fontWithName:@"RETURN TO CASTLE" size:30];
你也可以通过下面的方法遍历所有字体:
以下是代码片段:
//笨办法:把字体都打印出来,找非系统字体。。。(很无语的方法)
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for(indFamily=0;indFamily<[familyNames count];++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames =[[NSArray alloc]initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indFamily]]];
for(indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@",[fontNames objectAtIndex:indFont]);
}
[fontNames release];
}
[familyNames release];
在程序中先加入这段代码,运行,查看console,以上程式会列出所有的字型,当然也包含UIAPPFonts所加的字型,但请注意,名字可能差距很大,要自己找一下,不是字体的文件名,弄错了将无法看到效果
如果确实如此,这不是简单的粗细问题,是两种字体被混合了(想象一下把微软雅黑和华文细黑杂乱地混在一起用吧)。
原因是:字体优先级不正确
。
只是把系统语言设置为“English”的话,应该不会出现这个情况。真正导致这个的是在“多语言环境”设置的“语言”列表中,“日本語”位于“简体中文”和“繁體中文”之上
(而 iOS 的初始英文状态下,“日本語”正是排在英文之下、中文之上)。
在这个“语言”列表中,不仅顶端的那一项控制系统语言,其余项目的顺序也对多语言的处理有影响。
我
们都知道日文中有很多汉字,它们大多和中文汉字很像。实际上,在如今最常用的文本编码(Unicode)中,简体中文、繁体中文、日文以及韩文等书写系统
中的大多数汉字是共享编码的。而在网页或程序界面中遇到一个字符时,iOS 会按照“语言”列表的顺序套用各个语言的默认字体来试图显示这个字符。
这样,当“日本語”
排
在中文之上,iOS 会先套用日文字体(Hiragino Kaku Gothic
ProN),如果在日文字体中没有这个字,就按照列表顺序套用下一个语言的默认字体,直到轮到中文,在中文字体(iOS
中,简体中文和繁体中文都默认使用一套衍生自华文黑体的字体,分别叫 Heiti SC 和 Heiti TC,它们的风格是接近的)中总算找到了。
于是,因为一段文本中有的字能在日文字体中找到,而有的只存在于中文字体中,这段文本就混杂着用了日文字体和中文字体
。
但因 iOS 为日文和中文提供的默认字体风格很不一致(最显著的就是日文字体的“粗体”比中文字体的粗多了,另外还有多方面的区别,包括高度),于是文本效果就很不好了。
- - -
另外,顺便在此吐槽:
Mac OS X 和 iOS 什么时候才能用 Hiragino Kaku Gothic 这个风格统一 CJK 啊!
现在 Mac OS X 已经有了 Hiragino Sans GB(简体中文),但繁体中文的 Hiragino Sans CNS 在最后关头被撤掉了,而韩文那边似乎没有动静。
而 iOS 现在倒是用华文黑体的风格统一了 CJK(内置 Heiti SC、Heiti TC、Heiti J 和 Heiti K),尽管没有都设置为默认吧。
发表评论
-
UIImage变为NSData并进行压缩
2014-05-19 20:23 1928//sdk中提供了方法可以直接调用 UIImage *im ... -
update cocapods
2014-05-17 22:27 800早上更新cocoapod依赖库,发现更新到32.1版本,早先的 ... -
iOS发送短信息代码实例
2014-05-16 18:15 2686#import <MessageUI/Message ... -
DISPATCH TIMER
2014-05-14 16:12 729/* __block void (^callback) ... -
UITextField左边显示图片
2014-05-13 18:08 1170The overlay view displayed on t ... -
iOS调用系统打电话,发短信功能
2014-05-11 15:48 2084先介绍一种最简单的方法: 调用打电话功能 [[UIAppl ... -
iOS面试题
2014-05-09 16:10 10771.写一下UIButton与UITableView的层级结构 ... -
socket二进制报文
2014-05-09 15:18 1300里面有帧头 字符串UTF-8 中间用0隔开 又一个字符串 ... -
将网站添加到桌面的方法
2014-05-08 14:25 1661<link href="http://www. ... -
iPhone通讯录联系人操作大全
2014-05-07 10:29 14591.需要引入AddressBook.framework框架 2 ... -
sqlite获取最新插入的rowid
2014-05-07 09:59 1521除了 last_insert_rowid select max ... -
号码归属地查询,拨打电话
2014-05-06 15:07 845在程序内调用拨打电话的方法,[[UIApplication s ... -
iOS时间合并
2014-04-28 17:55 1093合并同一时间的课程,同一时间可能有多个课程,比如13:30-1 ... -
vCard通讯录格式说明
2014-04-28 16:47 2556原帖:http://freesoftman.iteye.com ... -
UISearchBar背景色全套解决方案
2014-04-25 09:36 7442os系统升级到7.1后,原来在7.0下显示正常的UISearc ... -
升级XCode5.1.1遇到的奇葩问题NSString,NSObjectRuntime.h报错,Foundation找不到
2014-04-24 11:19 896升级XCode5.1.1遇到的奇葩问题NSString,NSO ... -
将NSString转为NSArray
2014-04-22 16:52 6269// Your JSON data: NSString *c ... -
另外一种NSData转为NSString的方法
2014-04-22 15:40 1211If the data is not null-termina ... -
HTTP,Socket,WebSocket异同
2014-04-18 16:54 1832参考文章: http://abbshr.g ... -
push隐藏UINavigtaionBar和UITabbar
2014-04-17 15:20 1091[self.navigationController setN ...
相关推荐
IOS添加自定义字体 字体是软件开发中个性化的一个重要元素,系统自带了很多丰富的字体,但有时候并不能满足个性化的需求,这时候可以向工程中添加自定义的系统字体,然后就可以像使用系统字体一样使用。字体文件最...
1. **添加自定义字体到项目** 在Xcode中,首先需要将自定义字体文件(通常是.ttf或.otf格式)添加到项目的资源文件夹。这可以通过简单的拖放操作完成,或者在"File"菜单中选择"Add Files to 'Your Project'",然后...
在iOS开发中,自定义字体可以为应用增添独特的视觉风格,提升用户体验。本文将深入探讨如何在iOS项目中实现自定义字体的加载与使用,基于提供的"ios自定义字体demo"进行讲解。 首先,我们需要准备自定义字体文件。...
在iOS开发中,有时我们可能需要为应用添加独特的视觉效果,这时自定义字体就显得尤为重要。本文将详细解析如何在iOS应用中添加并使用自定义字体。 1. 获取字体文件: 首先,你需要从合法的来源获取字体文件,通常是...
在iOS应用开发中,自定义字体的引入可以让应用程序拥有独特的视觉风格,提升用户体验。本文将详细讲解如何在iOS项目中实现自定义字体`testfont`的集成与使用,以供开发者参考。 首先,我们需要理解iOS对自定义字体...
"ios-自定义Tabbar.zip"这个压缩包很可能包含了一个关于如何在iOS项目中实现自定义TabBar的示例代码或者教程。 自定义TabBar的主要知识点包括以下几个方面: 1. **UI设计**:首先,你需要设计符合应用风格的TabBar...
在iOS开发中,为了提供更好的用户体验,有时我们需要自定义键盘以满足特定的需求,例如创建一个只包含数字并带有“完成”按钮的键盘。这个“ios-自定义数字键盘.zip”文件就提供了这样的解决方案。让我们深入探讨...
本项目"ios-自定义分段选择Segment.zip"提供了一个自定义实现的Segment组件,它通过UIView来替代默认的SegmentControl,旨在解决UI设计与系统控件不匹配的问题。 首先,我们需要了解自定义分段选择的基本原理。在...
如果压缩包中的"ios字体"包含了自定义字体,那么在iOS应用中使用它们需要进行以下步骤: 1. 将字体文件(通常是`.ttf`或`.otf`格式)添加到Xcode项目中。 2. 在项目的`Info.plist`文件中添加`UIAppFonts`键,值为...
在iOS开发中,自定义字体的实现是一项常见的需求,特别是在追求独特UI设计或者品牌个性化时。自定义字体能够让你的应用与众不同,提供独特的视觉体验。本文将深入探讨如何在Objective-C(OC)环境下实现自定义字体的...
本教程将重点讲解如何在iOS应用中自定义绘制文字动画和加载动画,创建一个符合应用风格的指示器。 首先,我们需要了解`MBProgressHUD`、`SVProgressHUD`等第三方库,它们提供了预设的加载指示器样式,但有时为了...
"ios-自定义pickerview.zip"这个压缩包很可能包含了一个自定义DatePickerView的示例项目,用于展示如何根据需求定制PickerView的功能和外观。 首先,我们来了解下自定义PickerView的基础概念。在iOS中,自定义...
3. 自定义样式:通过调整子视图的frame、背景色、文字颜色、字体等属性,使弹出框符合应用的UI风格。在这个例子中,我们要实现的是类似UIAlertView的风格,但按钮是上下排列的。 4. 实现交互:为每个按钮添加点击...
自定义选择器的一个常见需求是添加额外的功能,比如添加分割线、自定义行高、动态加载数据等。在"CustomPickerViewDemol"中,你可以找到如何实现这些特性的代码片段。例如,通过重写drawRect方法可以在每个单元格...
在iOS开发中,自定义组件是提升应用用户体验和个性化设计的重要手段。本示例中的"ios-自定义的时间选择器.zip"就是一个针对日期和星期的选择器组件,它由新手开发者封装,旨在帮助用户方便地选取特定的年、月、日...
在iOS应用开发中,自定义弹出框和警示框是常见的UI设计元素,它们用于向用户展示重要信息或获取用户的输入。"ios-自定义弹出框.zip"这个压缩包可能包含了一个名为"CXAlertView"的自定义弹出视图类,用于替代系统默认...
在iOS开发中,有时为了使应用程序更具个性化或符合设计需求,我们需要自定义字体。本文将详细阐述如何在iOS中设置自定义字体以及了解系统自带的字体。 首先,要使用自定义字体,你需要准备相应的字体文件,通常是`....