博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIlabel以及其UIfont
阅读量:4312 次
发布时间:2019-06-06

本文共 3552 字,大约阅读时间需要 11 分钟。

由于label主要就是展示文字的一个视图,所以这里边就顺便的将字体也给总结了

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

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

设置显示的文字

label.text=@"hello canfeng";

@property(nonatomic,retain) UIFont*font; 

//    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

设置高亮的字体颜色

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(nonatomic) UIBaselineAdjustment baselineAdjustment;

返回文本绘制矩形

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

文本绘制函数

- (void)drawTextInRect:(CGRect)rect

文本自动布局参数

@property(nonatomic) CGFloat preferredMaxLayoutWidth 

 

转载于:https://www.cnblogs.com/canfeng/p/4981419.html

你可能感兴趣的文章
获取控制台窗口句柄GetConsoleWindow
查看>>
Linux下Qt+CUDA调试并运行
查看>>
51nod 1197 字符串的数量 V2(矩阵快速幂+数论?)
查看>>
OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统
查看>>
zabbix
查看>>
多线程基础
查看>>
完美解决 error C2220: warning treated as error - no ‘object’ file generated
查看>>
使用SQL*PLUS,构建完美excel或html输出
查看>>
SQL Server数据库笔记
查看>>
X-Forwarded-For伪造及防御
查看>>
android系统平台显示驱动开发简要:LCD驱动调试篇『四』
查看>>
Android 高仿微信头像截取 打造不一样的自定义控件
查看>>
Jenkins的初级应用(1)-Publish Over SSH
查看>>
【原】RDD专题
查看>>
第三周——构建一个简单的Linux系统MenuOS
查看>>
Docker 的两类存储资源 - 每天5分钟玩转 Docker 容器技术(38)
查看>>
Codeforces 257D
查看>>
常用的20个强大的 Sublime Text 插件
查看>>
ajaxfileupload.js在IE中的支持问题
查看>>
当document.write里含有script标签时
查看>>