本文主要是介绍UI-UILable,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果有长的文字
#define LONG_STRING @"iOS(原名:iPhone OS)是由苹果公司为移动设备所开发的操作系统,支持的设备包括iPhone、iPod touch、iPad、Apple TV。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。系统操作占用大概240MB的存储器空间。目前,iOS的最新版本为7.1.1。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。"
UILabel *lable1 = [[UILabel alloc]init];lable1.bounds = CGRectMake(0, 0, 150,300);lable1.center = CGPointMake(100, 400);lable1.text = LONG_STRING;//配置显示函数 0表示不限制lable1.numberOfLines = 0;//配置换行模式lable1.lineBreakMode = NSLineBreakByWordWrapping | NSLineBreakByTruncatingTail;[self.view addSubview:lable1];
一个方法:
//计算文本内容所占大小空间
/*string:待计算的文本font:显示的字体constraint:最大范围限制return 文本在限制范围内的大小空间*/
- (CGSize)sizeWithString:(NSString *)stringfont:(UIFont *)fontconstraint:(CGSize)constraint;
- (CGSize)sizeWithString:(NSString *)stringfont:(UIFont *)fontconstraint:(CGSize)constraint{
//异常处理if ([string length] == 0) {return CGSizeZero;}CGSize size;//ios7处理NSStringDrawingOptions options =NSStringDrawingTruncatesLastVisibleLine |NSStringDrawingUsesFontLeading |NSStringDrawingUsesLineFragmentOrigin;//配置字体shuxingNSDictionary *attributes = @{NSFontAttributeName:font};CGRect rect = [string boundingRectWithSize:constraintoptions:optionsattributes:attributescontext:NULL];size = rect.size;return size;}
将宏定义的字符串该小一些
#define LONG_STRING @"iOS(原名:iPhone OS)是由上。"
不计算文本所占空间和计算文本所占空间的区别
UILabel *lable1 = [[UILabel alloc]init];lable1.bounds = CGRectMake(0, 0, 100,300);lable1.center = CGPointMake(100, 400);lable1.text = LONG_STRING;lable1.backgroundColor = [UIColor redColor];//配置显示函数 0表示不限制lable1.numberOfLines = 0;//配置换行模式lable1.lineBreakMode = NSLineBreakByWordWrapping | NSLineBreakByTruncatingTail;[self.view addSubview:lable1];//计算文本大小UIFont *font = [UIFont systemFontOfSize:15];CGSize size = [self sizeWithString:LONG_STRINGfont:fontconstraint:CGSizeMake(100, 300)];UILabel *lable2 = [[UILabel alloc]init];lable2.bounds = CGRectMake(0, 0, 100, size.height);lable2.center = CGPointMake(270, 400);lable2.backgroundColor = [UIColor yellowColor];lable2.text = LONG_STRING;//配置显示函数 0表示不限制lable2.numberOfLines = 0;//配置换行模式lable2.lineBreakMode = NSLineBreakByWordWrapping | NSLineBreakByTruncatingTail;[self.view addSubview:lable2];
运行结果如下
这篇关于UI-UILable的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!