1月18号 UILabel 加上导入.tff格式的字体

1.如何导入.tff格式的字体

a.将下载的tff字体导入文件

b.到plist文件添加字体

c.如果在导入的时候没有添加到工程,那么需要在project->build phases->copyBundleResources里面添加导入的字体

4.在mac中打开字体,显示的标题就是对应的字体名字

2.如何计算某个字符串的长度

a.确定一个容器的size

  a.width或者height一个固定

  b.另一个足够大

b.确定计算的font

c.调用boundingRectWithSize

具体方法

NSString *str = @"偶的老家 就住在这个屯!偶是这个屯里土生土长的人哪!";

UIFont *font = [UIFont fontWithName:@"迷你简丫丫" size:25];

NSDictionary *attrDic = @{NSFontAttributeName:font};

    

CGSize bigSize = CGSizeMake(300, 3000);//定义一个大的容器

CGSize realSize = [str boundingRectWithSize:bigSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrDic context:nil].size;//这个是用来存放字符串的真实尺寸

 

3.定义一个Lable

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, realSize.width , realSize.height)];//起始点的x y坐标自己定义  label的长度和宽度需要使用真实尺寸的宽度和长度

label.backgroundColor = [UIColor greenColor];//背景颜色

label.text = str;//label上面显示的文本就是上面计算真实尺寸时用到的str

label.font = [UIFont fontWithName:@"迷你简丫丫" size:25];//文本的字体也要用上面计算真实尺寸时用到的字体

label.textColor = [UIColor colorWithRed:2/255.0 green:160/255.0 blue:179/255.0 alpha:1];//字体颜色  可以使用RGB

//对齐方式

label.textAlignment = NSTextAlignmentCenter;

//设置label显示多少行  0表示多行显示  n>0 显示n  如果显示不完  就用‘...’显示

label.numberOfLines = 0;

//设置换行方式

label.lineBreakMode = NSLineBreakByWordWrapping;

//阴影

label.shadowOffset = CGSizeMake(-1, -1);

label.shadowColor = [UIColor redColor];

[self.view addSubview:label];

这样子字符串需要多大的label  我们就创建出多大的一个label 不用浪费空间

 

原文地址:https://www.cnblogs.com/hmzxwky/p/5139058.html