文档章节

iOS UILabe及UIFont用法总结

珲少
 珲少
发布于 2015/04/07 23:07
字数 835
阅读 491
收藏 2

 

初始化一个UILabel对象,并初始化大小

UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

设置显示的文字

label.text=@"123";

和字体相关的一个类,字号大小默认17

@property(nonatomic,retain) UIFont*font; 

//7.0之后可用 设置字体风格
//    NSString *const UIFontTextStyleHeadline; 用于标题的风格
//    NSString *const UIFontTextStyleSubheadline;用于副标题的风格
//    NSString *const UIFontTextStyleBody;用于正文的字体
//    NSString *const UIFontTextStyleFootnote;用于脚注的字体
//    NSString *const UIFontTextStyleCaption1;用于标准字幕字体
//    NSString *const UIFontTextStyleCaption2;用于替换字幕字体
    label.font=[UIFont preferredFontForTextStyle:UIFontTextStyleCaption2];
//说实话,没看出什么太大的差别

//设置字体和字体大小
+ (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize;
//返回所有字体的字体家族名称数组
+ (NSArray *)familyNames;
//按字体家族名称返回字体名称数组
+ (NSArray *)fontNamesForFamilyName:(NSString *)familyName;
//设置普通字体字号大小
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;
//设置加粗字体字号大小
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
//设置斜体字号大小
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;

//一些只读属性
//字体家族名称
@property(nonatomic,readonly,retain) NSString *familyName;
//字体名称
@property(nonatomic,readonly,retain) NSString *fontName;
//字号大小
@property(nonatomic,readonly)        CGFloat   pointSize;
//字体设计模型,表示距离最高点偏移余量
@property(nonatomic,readonly)        CGFloat   ascender;
//底部的模型偏移量
@property(nonatomic,readonly)        CGFloat   descender;
//字体模型的头高信息
@property(nonatomic,readonly)        CGFloat   capHeight;
//字体模型的xHeight信息
@property(nonatomic,readonly)        CGFloat   xHeight;
//字体行高
@property(nonatomic,readonly)        CGFloat   lineHeight NS_AVAILABLE_IOS(4_0);
//模型主体信息
@property(nonatomic,readonly)        CGFloat   leading;
//创建一个新字体与当前字体相同,除了指定的大小
- (UIFont *)fontWithSize:(CGFloat)fontSize;
//通过描述信息返回字体 7.0后可用
+ (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize NS_AVAILABLE_IOS(7_0);
//返回字体的描述信息,7.0后可用
- (UIFontDescriptor *)fontDescriptor NS_AVAILABLE_IOS(7_0);

 

设置字体颜色

label.textColor=[UIColor redColor];

设置阴影偏移量

label.shadowOffset=CGSizeMake(20, 20);

设置阴影颜色

label.shadowColor=[UIColor blackColor];

设置对齐模式

label.textAlignment=NSTextAlignmentJustified;

enum {
   //沿左边沿对齐文本
   NSTextAlignmentLeft      = 0,
   //中心对齐
   NSTextAlignmentCenter    = 1,
   //右边沿对齐
   NSTextAlignmentRight     = 2,
   //最后一行自然对齐
   NSTextAlignmentJustified = 3,
   //默认对齐
   NSTextAlignmentNatural   = 4,};typedef NSInteger NSTextAlignment;

 

多行文本设置

label.lineBreakMode=NSLineBreakByCharWrapping;

enum {
   //文本边缘处理
   NSLineBreakByWordWrapping = 0,
   //提前处理不合适的字符
   NSLineBreakByCharWrapping,
   //简单线性处理
   NSLineBreakByClipping,
   //丢失的开头用省略号表示
   NSLineBreakByTruncatingHead,
   //丢失的文本在末尾显示省略号
   NSLineBreakByTruncatingTail,
   //丢失的文本在中间显示省略号
   NSLineBreakByTruncatingMiddle };typedef NSUInteger NSLineBreakMode

使用attributedText绘制

@property(nonatomic,copy)   NSAttributedString *attributedText 

设置高亮的字体颜色

label.highlightedTextColor=[UIColor blueColor];

//设置是否高亮

label.highlighted=YES;

用户交互 默认关闭

label.userInteractionEnabled=NO;

 

是否有效,默认是YES,无效为灰色

label.enabled=NO;

显示的行数,0为无限

@property(nonatomic) NSInteger numberOfLines;

宽度自适应大小 默认是NO

 

@property(nonatomic) BOOL adjustsFontSizeToFitWidth;

字符适应宽度:不赞成使用

@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth

最小适应大小2.0-6.0

@property(nonatomic) CGFloat minimumFontSize

最小适应大小 6.0 之后

 

@property(nonatomic) CGFloat minimumScaleFactor

垂直方向的调整

@property(nonatomicUIBaselineAdjustment baselineAdjustment;

typedef enum {
   //调整文本对应基线位置
   UIBaselineAdjustmentAlignBaselines,
   //调整文本相对其边框的中心
   UIBaselineAdjustmentAlignCenters,
   //调整文本相对于边界的左上角 默认的
   UIBaselineAdjustmentNone,} UIBaselineAdjustment;

 

返回文本绘制矩形

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;

文本绘制函数

- (void)drawTextInRect:(CGRect)rect

文本自动布局参数

@property(nonatomic) CGFloat preferredMaxLayoutWidth 

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

© 著作权归作者所有

珲少

珲少

粉丝 895
博文 395
码字总数 478712
作品 0
上海
程序员
私信 提问
iphone开发资源汇总

学习过程当中查找到的资料,做一个记录,以便更多朋友查看。 开发的过程有时候是简单的,因为我们可以站在巨人的肩上,跳得更高,走得更远。 如何用Facebook graphic api上传视频: http://d...

长平狐
2012/08/13
493
0
iphone开发资源汇总

iphone开发资源汇总 如何用Facebook graphic api上传视频: http://developers.facebook.com/blog/post/532/ Keychain保存数据封装: https://github.com/carlbrown/PDKeychainBindingsContr......

长平狐
2012/10/25
271
0
VPNOn 0.1 释出,iOS 的 VPN 开关通知中心扩展

在 iOS 上使用过 VPN 的人都知道,开启和关闭 iOS 的 VPN 是一件非常麻烦的事情,因为 VPN 开关隐藏在多层菜单之下。VPNOn 是一款非常实用的 iOS 的通知栏扩展,其安装一个 Today Widget 到通...

开源中国真理部部长
2014/12/17
4.1K
6
iOS- 懒人封装 ActionSheet 之 SJActionSheet

iOS 本身的 ActionSheet 比较单一,很多时候满足不了需求,所以很多封装就出现了,百家争鸣,各有一长,没有最好,只有更好.给大家安利一个比较实用的项目--这个项目原本是Xib 版本 MHActionSheet,...

五蕴盛
2017/11/08
0
0
[C++][IO]fstream用法

fstream用法 1. 打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); 参数: filename:  要打开的文件...

guitar_zp
2011/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

金蝶EAS DEP 服务端 脚本

1、服务端执行SQL //服务端更新单据状态var imp = JavaImporter(); imp.importPackage(Packages.com.kingdee.eas.scm.im.inv); imp.importPackage(Packages.com.kingdee.eas.srt.comm......

路过饭堂门口
25分钟前
22
0
Hive之导出文件按逗号分隔到本地文件

如下所示,默认导出的是用\t分隔的,需要使用管道符进行转换,经常使用到,记录下. List-1 hive -e "SELECT * from student" | sed 's/\t/,/g' > /tmp/student.csv...

克虏伯
34分钟前
34
0
转置/解压缩功能(zip的反转)?

我有一个2项元组的列表,我想将它们转换为2个列表,其中第一个包含每个元组中的第一个项目,第二个列表包含第二个项目。 例如: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)]# an......

技术盛宴
50分钟前
53
0
小猪o2o系统v14.0升级v14.1攻略含小猪CMS微店铺和智慧店铺及小程序百项升级

首先我们要注意升级前的以下几个内容: 即 对环境的要求 网站需求PHP7.1 MYSQL5.1以上 Sw解密组件 解密组件在swoole-loader内 解压缩网站包 修改Conf/db.php内数据库文件 替换数据库内xxx.com...

my_gode
今天
98
0
「干货来袭」Github最全Nodejs资源集

今天给大家分享一下Github上面最全的Nodejs资源集awesome-nodejs,该项目聚合了nodejs各类优质资源,对自立于全栈开发或者想了解nodejs技术栈的开发同学极有帮助,有想进一步了解nodejs的千万...

gamedilong
今天
56
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部