UIKit 框架之UILabel

//

//  ViewController.m

//  UILabel

//

//  Created by City--Online on 15/5/18.

//  Copyright (c) 2015年 XQB. All rights reserved.

//



#import "ViewController.h"



@interface ViewController ()



@end



@implementation ViewController



- (void)viewDidLoad {

    [super viewDidLoad];

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

    //    设置文本内容

    label.text=@"labellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabellabel";

    //     设置字体

    label.font=[UIFont systemFontOfSize:20];

    //    设置文本颜色

    label.textColor=[UIColor blackColor];

    //    设置阴影颜色

    label.shadowColor=[UIColor yellowColor];

    //    设置阴影偏移量

    label.shadowOffset=CGSizeMake(10, 10);

    //    文本对齐方式

    label.textAlignment=NSTextAlignmentCenter;

    //    文本过长时的显示格式

    //    typedef NS_ENUM(NSInteger, NSLineBreakMode) {

    //        NSLineBreakByWordWrapping = 0,   以单词为显示单位显示,后面部分省略不显示。

    //        NSLineBreakByCharWrapping,       以字符为显示单位显示,后面部分省略不显示。

    //        NSLineBreakByClipping,           剪切与文本宽度相同的内容长度,后半部分被删除。

    //        NSLineBreakByTruncatingHead,     前面部分文字以……方式省略,显示尾部文字内容

    //        NSLineBreakByTruncatingTail,     结尾部分的内容以……方式省略,显示头的文字内容。

    //        NSLineBreakByTruncatingMiddle    中间的内容以……方式省略,显示头尾的文字内容。

    //    }

//    label.lineBreakMode=NSLineBreakByCharWrapping;

    //    最多显示的行数 默认0显示多行

    label.numberOfLines=0;

    //    是否可用

    label.enabled=YES;

    //    是否高亮

    label.highlighted=NO;

    //    高亮字体颜色

    label.highlightedTextColor=[UIColor redColor];

    //自动调整字体来适应宽度

    label.adjustsFontSizeToFitWidth=YES;

    //如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。

    //    typedef NS_ENUM(NSInteger, UIBaselineAdjustment) {

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

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

    //        UIBaselineAdjustmentNone,                文本最低端与label中线对齐。

    //    };

    label.baselineAdjustment=UIBaselineAdjustmentAlignBaselines;

   

    

    //    计算UILabel随字体多行后的高度

    CGRect bounds=CGRectMake(0, 0, 200, 300);

    float height=[label textRectForBounds:bounds limitedToNumberOfLines:20].size.height;

    NSLog(@"%f",height);

    

    //    标签属性文本

    NSString *text=@"texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext";

    NSMutableAttributedString *textlabelStr=[[NSMutableAttributedString alloc]initWithString:text];

    [textlabelStr setAttributes:@{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:17]} range:NSMakeRange(1, 2)];

    //下划线

    NSRange contentRange={0,text.length};

    [textlabelStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:contentRange];

    label.attributedText=textlabelStr;

    

    //设置行间距

    NSMutableParagraphStyle  *paragraphStyle=[[NSMutableParagraphStyle alloc]init];

    paragraphStyle.lineSpacing=50;

    [textlabelStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, text.length)];

    

    [self.view addSubview:label];

    

   

    //根据文本计算文本高度

//    CGSize size=[label.text boundingRectWithSize:CGSizeMake(300, 100) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:20]} context:nil].size;

//    label.frame=CGRectMake(20, 20, size.width, size.height);

   

    

    //竖排文字

    UILabel *label1=[[UILabel alloc]init];

    label1.frame=CGRectMake(200, 200, 40, 200);

    label1.text=@"请\n竖\n直\n方\n向\n排\n列";

    label1.numberOfLines=[label1.text length];

    [self.view addSubview:label1];

    

    

    

    

}



- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end

 UIKit 框架之UILabel

你可能感兴趣的:(UILabel)