UILabel

摘要:
一.默认状态单行,不可获取用户点击事件,UIViewContentModeRedraw模式,改变就重绘.二.相关属性与函数1.文本属性text        //label显示的文字font        //text的字体,值不可以是nil,否则异常textColor    //text的颜色textAlignment  //text的对其方式lineBreakMode//当文字超出label显

一.默认状态

单行,不可获取用户点击事件,UIViewContentModeRedraw模式,改变就重绘.

二.相关属性与函数

1.文本属性

text        // label 显示的文字

font        // text 的字体,值不可以是nil,否则异常

textColor      // text 的颜色

textAlignment  // text 的对其方式

lineBreakMode// 当文字超出label显示区域时的截取方式

typedefenum{

UILineBreakModeWordWrap =0, // 以空格为界,保留整个单词

UILineBreakModeCharacterWrap, // 保留整个字符

UILineBreakModeClip, // 画到边界为止

UILineBreakModeHeadTruncation, // 省略开始,...代替

UILineBreakModeTailTruncation, // 省略尾部,...代替

UILineBreakModeMiddleTruncation, // 省略中间,...代替.这3个多行时作用于最后一行,多行时这三个以单词分行

} UILineBreakMode;

enabled// 文字是否可变,布尔值

2.文本区域

adjustsFontSizeToFitWidth

布尔值,@property(nonatomic) BOOL adjustsFontSizeToFitWidth,设置文本字体是否要减小来适应label的区域.只有当label的行数事1时有效.字体一直减小到你设置的最小字体值.

baselineAdjustment

当adjustsFontSizeToFitWidth值为YES的时候,如果文本的font需要缩小,这个值控制基线位置.只有为本行数为1时有效

@property(nonatomic) UIBaselineAdjustment baselineAdjustment

typedefenum{

UIBaselineAdjustmentAlignBaselines =0,// 默认值文本最上端与label中间线对齐

UIBaselineAdjustmentAlignCenters,//文本中间与label中间线对齐

UIBaselineAdjustmentNone,//文本最底端与label中间线对齐

} UIBaselineAdjustment;

minimumFontSize  // 最小字体,行数为1时有效,默认0.0

numberOfLines   // 文本行数,为0时没有最大行数限制

3.高亮设置

highlightedTextColor// 文本高亮时的颜色

highlighted     // 文本是否高亮

4.绘制阴影

shadowColor   // 阴影颜色

shadowOffset  // 阴影偏移

5.重载绘画

–textRectForBounds:limitedToNumberOfLines:   // 不可直接调用,需要子类重载,第二参数为0时没有行数限制

–drawTextInRect:                // 不可直接调用,需要子类重载

6.用户交互

userInteractionEnabled // 是否可与用户交互,基本上也都在子类中重载使用

三.常用范例

1.取得label大小正好适合文字

NSString* text = @"this is a simple uilabel sample";
UILabel* label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor redColor];
CGFloat width = 30.0;
UIFont* font = [UIFont systemFontOfSize:14.0];
label.font = font;
label.numberOfLines = 0;
label.lineBreakMode = UILineBreakModeWordWrap;
label.text = text;
// 方法一,用文字来确定
CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(width, 2000.0) lineBreakMode:UILineBreakModeWordWrap];
// 方法二,自适应
//CGSize size = [label sizeThatFits:CGSizeMake(width, 2000.0)];
label.frame = CGRectMake(0, 0, size.width, size.height);
- (void)loadView
{
    [super loadView];
    //1.UILable的大小自适应实例:
    UILabel *myLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 2, 2)];//设定位置与大小
    [myLabel setFont:[UIFont fontWithName:@"Helvetica" size:20.0]];//格式
    [myLabel setNumberOfLines:0];//行数,只有设为0才可以自适应
    [myLabel setBackgroundColor:[UIColor clearColor]];//背景色
    myLabel.shadowColor = [UIColor darkGrayColor];//阴影颜色
    myLabel.shadowOffset = CGSizeMake(1.0,1.0);//阴影大小
    
    NSString *text = @"abcdefghigklmnopqrstuvwxyz";
    UIFont *font = [UIFont fontWithName:@"Helvetica" size:20.0];
    CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f) lineBreakMode:UILineBreakModeWordWrap];
    CGRect rect=myLabel.frame;
    rect.size=size;
    [myLabel setFrame:rect];
    [myLabel setText:text];
     myLabel.shadowColor = [UIColor darkGrayColor];//阴影颜色
     myLabel.shadowOffset = CGSizeMake(2.0,2.0);//阴影大小
    [self.view addSubview:myLabel];
    [myLabel release];
    //2.UILable的基本用法获取自馒头MAN百度空间,感谢馒头MAN
            //空间地址:http://hi.baidu.com/bunsman/blog/item/95777b0ebacf05fe36d122e2.html
    UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 40.0, 200.0, 30.0)];     
    UILabel *label2 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 80.0, 200.0, 50.0)];     
    UILabel *label3 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 140.0, 200.0, 50.0)];     
    UILabel *label4 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 200.0, 200.0, 50.0)];     
    UILabel *label5 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 260.0, 200.0, 50.0)];     
    UILabel *label6 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 320.0, 200.0, 50.0)];     
    UILabel *label7 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 380.0, 200.0, 50.0)];     
    
    //设置显示文字     
    label1.text = @"label1";     
    label2.text = @"label2";     
    label3.text = @"label3--label3--label3--label3--label3--label3--label3--label3--label3--label3--label3--11个";     
    label4.text = @"label4--label4--label4--label4--4个";     
    label5.text = @"label5--label5--label5--label5--label5--label5--6个";     
    label6.text = @"label6";     
    label7.text = @"label7";     
    
    //设置字体:粗体,正常的是 SystemFontOfSize     
    label1.font = [UIFont boldSystemFontOfSize:20];     
    
    //设置文字颜色  
    label1.textColor = [UIColor orangeColor];     
    label2.textColor = [UIColor purpleColor];     
    //设置背景颜色 
    label1.backgroundColor = [UIColor clearColor];
    label2.backgroundColor = [UIColor  colorWithRed:0.5f green:30/255.0f blue:0.3f alpha:0.5f];
    //设置文字位置     
    label1.textAlignment = UITextAlignmentRight;     
    label2.textAlignment = UITextAlignmentCenter;     
    //设置字体大小适应label宽度     
    label4.adjustsFontSizeToFitWidth = YES;
    //设置label的行数     
    label5.numberOfLines = 2;     
    
    //设置高亮     
    label6.highlighted = YES;     
    label6.highlightedTextColor = [UIColor orangeColor];     
    
    //设置阴影     
    label7.shadowColor = [UIColor redColor];     
    label7.shadowOffset = CGSizeMake(1.0,1.0);     
    
    //设置是否能与用户进行交互     
    
    label7.userInteractionEnabled = YES;     
    
    //设置label中的文字是否可变,默认值是YES     
    label3.enabled = NO;     
    
    //设置文字过长时的显示格式     
    
    label3.lineBreakMode = UILineBreakModeMiddleTruncation;//截去中间     
    //  typedef enum {     
    //      UILineBreakModeWordWrap = 0,     
    //      UILineBreakModeCharacterWrap,     
    //      UILineBreakModeClip,//截去多余部分     
    //      UILineBreakModeHeadTruncation,//截去头部     
    //      UILineBreakModeTailTruncation,//截去尾部     
    //      UILineBreakModeMiddleTruncation,//截去中间     
    //  } UILineBreakMode;     
    
    //如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为     
    label4.baselineAdjustment = UIBaselineAdjustmentNone;     
    //  typedef enum {     
    //      UIBaselineAdjustmentAlignBaselines,     
    //      UIBaselineAdjustmentAlignCenters,     
    //      UIBaselineAdjustmentNone,     
    //  } UIBaselineAdjustment;     
    
    
    [self.view addSubview:label1];     
    [self.view addSubview:label2];     
    [self.view addSubview:label3];     
    [self.view addSubview:label4];     
    [self.view addSubview:label5];     
    [self.view addSubview:label6];     
    [self.view addSubview:label7];     
    
    [label1 release];     
    [label2 release];     
    [label3 release];     
    [label4 release];     
    [label5 release];     
    [label6 release];     
    [label7 release];         
    
}

免责声明:文章转载自《UILabel》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇什么是卷积神经网络?为什么它们很重要?注解提高篇:自定义注解处理器(APT)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS UIPickerView 可能会出现选中行不显示或者去掉上下两条横线的问题解决,

                       这个问题很容易解决,需要在pickerview的代理方法中设置上下横线的颜色就可以了                                                                                                                  ...

iOS -- app全局字体设置

方法一:写一个UILabel(FontExtension)扩展重写initWithFrame(手写代码必走方法)和awakeFromNib(xib必走方法)当然UIButton、UITextView等控件都可以用这种方式#import <UIKit/UIKit.h>@interface UILabel (FontExtension)@end#i...

[转]UILabel自适应大小

当内容不足以将整个Label占满的时候,可以将Label中的内容顶部对齐显示,并自适应大小。 1、给myLabel标签内填充文本 Ios代码 myLabel.text=@"thetextwillfillthelabel"; 2、设置myLabel的最大显示行数(0表示不限) Ios代码 myLabel.numberOfLines=0; 3、设置...

【Swift】UILabel的简单操作方法

@IBActionfuncbuttonClick_LabelCtrl(sender: AnyObject) { //定义CGRect来初始化UILable varframe: CGRect= CGRect(x: 50, y: 50, 200, height: 200) varlabel: UILabel= UILabel(frame: frame) //获...

iOS开发:常用的UIView控件——UILabel、UITextField、UIButton

前面几篇文章已经对iOS开发中比较基本的几个文件进行了了解,今天主要学习StoryBoard文件和几个常见的UI控件。 Storyboard功能是在iOS5开始新增的功能,一种新技术的出现大多是为了弥补旧技术的不足,而在storyboard之前iOS 开发设计界面是使用nib文件(xib),storyboard文件相对nib文件的好处主要体现在storyb...

UI小综合+跳转

效果图 在storyborad中添加的视图Navigation Controller(把table view的Content设为Static Cells),View Controller(+scroll view), 文件: 在BIDViewController.h // //BIDViewController.h //scrollView // /...