iOS 控件之Label

来源:互联网 发布:js float 保留两位小数 编辑:程序博客网 时间:2024/05/21 17:37
// 这里面是纯代码,关于label的各属性设置
//
//    CGRect rect = CGRectMake(50, 50, 150, 45);
//    self.label = [[UILabel alloc] initWithFrame:rect];
//
//    // layer.borderColor -> 设置label的边框颜色
//    self.label.layer.borderColor = [UIColor redColor].CGColor;
//    // layer.borderWidth -> 设置label的边框宽度,如果不设置则边框不显示
//    self.label.layer.borderWidth = 1;
//
//    // text -> 设置label的内容
////    self.label.text = @"测试label";
//    // 获取label的内容
////    NSLog(@"%@", self.label.text);
//
//    // 设置label的字体颜色
////    self.label.textColor = [UIColor purpleColor];
//    [self.view addSubview:self.label];
//
//    // 设置label的内容对齐方式
//    self.label.textAlignment = NSTextAlignmentCenter;
//
//    // 设置label的字体大小(默认字体大小为17)
////    self.label.font = [UIFont systemFontOfSize:20];  // 一般设置
////    self.label.font = [UIFont boldSystemFontOfSize:20];  // 加粗设置
////    self.label.font = [UIFont fontWithName:@"" size:20];  // 指定字体
//
//    // numberOfLines -> 设置label的最多显示行数,如果为0则表示多行
//    self.label.numberOfLines = 2;
//
//    // enable 只是决定了Label的绘制机制,将它设置为NO的时候,文本变暗,表示没有激活,这时对它的设置颜色值都是无效的
////    self.label.enabled = NO;   // 但边框颜色依旧存在,只是字体变成灰色
//
//    // highlighted -> 设置是否高亮显示
////    self.label.highlighted = YES;
////    self.label.highlightedTextColor = [UIColor orangeColor];  // 高亮时文本颜色
//
//    // setShadowColor:UIColor -> 设置阴影颜色(该设置仅针对于文字内容)
//    [self.label setShadowColor:[UIColor blackColor]];
//    // setShadowOffset:CGSize -> 设置阴影偏移量
//    [self.label setShadowOffset:CGSizeMake(-1, -1)];
//
//    // 控制文本基线的设置
//    /*  该属性有3个枚举值:  1、UIBaselineAdjustmentAlignBaselines  默认值,文本最上端与label中线对齐
//                         2、UIBaselineAdjustmentAlignCenters  文本中线与label中线对齐
//                         3、UIBaselineAdjustmentNone  文本最低端与中线对齐
//     */
////    self.label.baselineAdjustment = UIBaselineAdjustmentNone;
////    self.label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
//    self.label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
//
//    // adjustsFontSizeToFitWidth -> 设置label中字体是否自动适应大小
////    self.label.adjustsFontSizeToFitWidth = YES;
//    // 设置最小收缩比例,如果Label宽度小于文字长度时,文字进行收缩,收缩超过比例后,停止收缩
////    self.label.minimumScaleFactor = 0.5;
//
////    self.label.adjustsFontForContentSizeCategory = YES;
////    self.label.adjustsLetterSpacingToFitWidth = YES;
//
//    // lineBreakMode -> 设置当文字过长时的显示格式
//    /*  该属性有6个枚举值:  1、NSLineBreakByCharWrapping  以字符为显示单位显示,后面部分省略不显示
//                         2、NSLineBreakByClipping  剪切与文本宽度相同的内容长度,后半部分被删除。
//                         3、NSLineBreakByWordWrapping  以单词为显示单位显示,后面部分省略不显示。
//                         4、NSLineBreakByTruncatingHead  前面部分文字以……方式省略,显示尾部文字内容。
//                         5、NSLineBreakByTruncatingMiddle  中间的内容以……方式省略,显示头尾的文字内容。
//                         6、NSLineBreakByTruncatingTail  结尾部分的内容以……方式省略,显示头的文字内容。
//     */
//    self.label.lineBreakMode = NSLineBreakByCharWrapping;
////    self.label.lineBreakMode = NSLineBreakByClipping;
////    self.label.lineBreakMode = NSLineBreakByWordWrapping;
////    self.label.lineBreakMode = NSLineBreakByTruncatingHead;
////    self.label.lineBreakMode = NSLineBreakByTruncatingMiddle;
////    self.label.lineBreakMode = NSLineBreakByTruncatingTail;
//
//
//

   /*
    // 设置label标签  属性文本(带有属性的文本内容)
    // 初始化标签
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 150, 45)];
    // 设置文本内容
    NSString *text = @"testlabelcontent";
    // 初始化属性文本对象
    NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc] initWithString:text];
    // 设置属性文本对象属性
    // @{NSForegroundColorAttributeName:[UIColor cyanColor],NSFontAttributeName:[UIFont systemFontOfSize:17]  这是一个字典
    // NSForegroundColorAttributeName:   这是字典的固定key值,它对应的value值是一个UIColor类型的值
    // NSFontAttributeName:
    [textLabelStr setAttributes:@{NSForegroundColorAttributeName:[UIColor cyanColor],NSFontAttributeName:[UIFont systemFontOfSize:17]} range:NSMakeRange(2, 5)];
    label.attributedText = textLabelStr;
   
    [self.view addSubview:label];
     */
   
//    // 竖排显示文字 --->  给每个字后面加上一个换行符,这是最简单和方便的实现方式
//    UILabel *secLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 150, 150, 50)];
//    secLabel.text = @"这\n个\n是\n竖\n排\n方\n向\n的\n显\n示";
//    secLabel.numberOfLines = [secLabel.text length];
//    NSLog(@"%ld", [secLabel.text length]);
//    secLabel.frame = CGRectMake(secLabel.frame.origin.x, secLabel.frame.origin.y, 50, 30 * (([secLabel.text length] + 1) / 2));
//    NSLog(@"%f", secLabel.frame.size.height);
//    CGRect bounds = CGRectMake(0, 0, 200, 300);
//    CGRect heighLabel = [secLabel textRectForBounds:bounds limitedToNumberOfLines:10];
//    NSLog(@"%f", heighLabel.size.height);
//
//
//    secLabel.layer.borderColor = [UIColor orangeColor].CGColor;
//    secLabel.layer.borderWidth = 1;
//    secLabel.layer.cornerRadius = 15;
//    secLabel.clipsToBounds = YES;
//    [self.view addSubview:secLabel];
   
//    UILabel *msgLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 45, 0, 0)];
//    msgLabel.backgroundColor = [UIColor lightTextColor];
//    [msgLabel setNumberOfLines:0];
////    msgLabel.lineBreakMode = UILineBreakModeWordWrap;
//    msgLabel.font = [UIFont fontWithName:@"Arial" size:12];
//    CGSize size = CGSizeMake(290, 1000);
//
//    msgLabel.text = @"这里只需要一段长一点的文字而已,所以随便写点什么,其实吧,代码毕竟是代码,它是死的,但是人是活的,只要这规则范围内,代码也不是不能更改的。";
//    CGSize msgSize = [msgLabel.text sizeWithFont:msgLabel.font constrainedToSize:size];
//    [msgLabel setFrame:CGRectMake(15, 150, 290, msgSize.height)];
//    msgLabel.layer.borderWidth = 1;
//    msgLabel.layer.borderColor = [UIColor orangeColor].CGColor;
//
//    [self.view addSubview:msgLabel];

//    // 渐变色字体label
//    /* 实现思路:   1、通过一个渐变色的图片,[UIColor colorWithPatternImage:(UIImage *)]通过获取图片的颜色
//                 2、将从渐变色图片中获取的颜色赋给label的textColor
//                 3、将Label的背景色重新复制成clearColor
//     */
//    UIColor *titleColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"jbs.png"]];
//    NSString *title = @"渐变色字体Label";
//    UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 200, 350, 80)];
//    titleLabel.textColor = titleColor;
//    titleLabel.text = title;
//    titleLabel.font = [UIFont boldSystemFontOfSize:40];
//    titleLabel.backgroundColor = [UIColor clearColor];
//    [self.view addSubview:titleLabel];
   
   // 24、设置Label 的倾斜度
   
//    label.transform = CGAffineTransformMakeRotation(-0.2);