IOS UILabel的一些使用小技巧

1. 你在iOS6的需要NSLineBreakByWordWrapping 为了您的代码试试这个:

NSString *string = @"bla";
CGSize s = [string sizeWithFont:[UIFont systemFontOfSize:20]
    constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40,  CGFLOAT_MAX) // - 40 For cell padding
     lineBreakMode:NSLineBreakByWordWrapping];

的标签上,例如,将

 [label setLineBreakMode:NSLineBreakByWordWrapping];

而不是

label.lineBreakMode = UILineBreakModeWordWrap;

2. 为了保持你可以创建一个宏,如下:

#ifdef __IPHONE_6_0
# define LINE_BREAK_WORD_WRAP NSLineBreakByWordWrapping
#else
# define LINE_BREAK_WORD_WRAP UILineBreakModeWordWrap
#endif

typedef enum {   UILineBreakModeWordWrap = 0,   UILineBreakModeCharacterWrap,   UILineBreakModeClip,   UILineBreakModeHeadTruncation,   UILineBreakModeTailTruncation,   UILineBreakModeMiddleTruncation,} UILineBreakMode;

   UILineBreakModeWordWrap = 0,   以单词为单位换行,以单位为单位截断。   UILineBreakModeCharacterWrap,   以字符为单位换行,以字符为单位截断。   UILineBreakModeClip,   以单词为单位换行。以字符为单位截断。   UILineBreakModeHeadTruncation,   以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。   UILineBreakModeTailTruncation,   以单词为单位换行。无论是单行还是多行,都是末尾有省略号。   UILineBreakModeMiddleTruncation,   以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。

NSLineBreakByWordWrapping = 0,//以空格为边界,保留单词

NSLineBreakByCharWrapping,    //保留整个字符

NSLineBreakByClipping,        //简单剪裁,到边界为止

NSLineBreakByTruncatingHead,  //按照"……文字"显示

NSLineBreakByTruncatingTail,  //按照"文字……文字"显示

NSLineBreakByTruncatingMiddle //按照"文字……"显示

例如:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//后面还会重新设置其size。
[label setNumberOfLines:0];
NSString *s = @"string......";
UIFont *font = [UIFont fontWithName:@"Arial" size:12];
CGSize size = CGSizeMake(320,2000);
CGSize labelsize = [s sizeWithFont:font constrainedToSize:sizelineBreakMode:UILineBreakModeWordWrap];
[label setFrame:CGRectMake(0, 0, labelsize.width, labelsize.height)];

[self.view addSubView:label];

时间: 2024-10-11 02:01:03

IOS UILabel的一些使用小技巧的相关文章

iOS开发中的那些小技巧

一,前言 看到这个图,你会想起谁?是不是想起了,曾经的用户名输入框,密码输入框... 那么,问题来了:作为iOS开发的你,这个输入框你是怎么实现的,成为关键. 二,方案 方案1:弄一个UIView,在这个视图上分别放三个控件:UIImageView,UILabel与UITextField.(这个方案很直接,如果你只是简单的直接将三个控件放到视图上,那么你的月薪暴露了,最多3K.如果你是对这个视图重写了,将那三个控件封装起来了,放在.h文件,那你的月薪应该是3.5K,如果是将那三个控件放到.m文件

iOS开发>学无止境 - 6个iOS图片文本设计的小技巧

英文:TOPE 作者:星夜暮晨 网址:http://www.jianshu.com/p/88263196fdf0 设计师们似乎拥有着我们这些开发者所没有的“魔力”,他们知道如何让一个应用的界面看起来非常得舒适,以至于有时让我们有了迫不及待将其复现的冲动. 然而,几天过去了,我们仍然还停留在设计稿的第一个界面,写下大段大段的代码,可是界面却不是我们想要的那个样子,这无疑是非常让人恼火的一件事情. 好消息是设计师们的“魔力”并不是我们想象中的那么神奇,有一些关于设计的小技巧.只要掌握了它们,我们就能

iOS开发 字符串的转化 小技巧

/字典或者数组转化为nsstring NSArray *arr = [NSArray arrayWithObject:@"1"]; NSString *str = [arr JSONString];               //数组或者字典转化为json串 NSArray *arr1 = [str objectFromJSONString];     //json串转化为字典或者数组 NSData *data = [arr1 JSONData];                 /

Snail—iOS开发中得一些小技巧

开发中 常常会使父视图的透明度改变,而子视图不受父视图的影响,则下面这段代码可以完美解决.... fatherView.backgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.6]; 版权声明:本文为博主原创文章,未经博主允许不得转载.

ios小技巧

ios开发小技巧(转) 1.通过下面方式可以获取图片的像素颜色点:- (void*)getImageData:(UIImage*)image{    void* imageData;    if (imageData == NULL)         imageData = malloc(4 * image.size.width * image.size.height);        CGColorSpaceRef cref = CGColorSpaceCreateDeviceRGB();  

iOS 小技巧总结,绝对有你想要的

iOS 小技巧总结,绝对有你想要的 原文链接:http://www.jianshu.com/p/4523eafb4cd4 在这里总结一些 iOS 开发中的小技巧,能大大方便我们的开发,持续更新. —— 由 xcvxvxc分享 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHeade

iOS小技巧--用runtime 解决UIButton 重复点击问题

iOS小技巧–用runtime 解决UIButton 重复点击问题 什么是这个问题 我们的按钮是点击一次响应一次, 即使频繁的点击也不会出问题, 可是某些场景下还偏偏就是会出问题. 通常是如何解决 我们通常会在按钮点击的时候设置这个按钮不可点击. 等待0.xS的延时后,在设置回来; 或者在操作结束的时候设置可以点击. - (IBAction)clickBtn1:(UIbutton *)sender { sender.enabled = NO; doSomething sender.enabled

创业团队 iOS 开发的小技巧

真的是好久好久没有发文章了,其实攒了不少篇草稿:深入浅出 AFNetworking.如何阅读 crash 文件.UIKit response chain 等等,但是基本上,还没放出来,国内外的大大们写了同样的内容,而且基本上我想表达的都说了,写得还比我写得好. 但作为一个有输出的男人,还是要写点什么的.但我能分享给大家的除了创业经验,作合伙人的经验,也就剩下这种提升单兵作战能力的,歪门邪道小技巧了.于是,这里就准备开坑写这个系列.不过我这里推荐的基本上都是国内服务,但是大可放心,我完全没有收任何

iOS 知识-常用小技巧大杂烩

iOS 知识-常用小技巧大杂烩 1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图显示到屏幕上了,点击按钮 * 添加子视图也会调用这个方法 * 当本视图的大小发生改变的时候是会调用的 * 当子视图的frame发生改变的时候是会调用的 * 当删除子视图的时候是会调用的 3,NSString过滤特殊字符 // 定义一个特殊字符的集合 NSCharact