1 #import "ViewController.h" 2 #import <CoreText/CoreText.h> 3 @interface ViewController () 4 5 @property (strong, nonatomic) UILabel *label; 6 7 @property (strong, nonatomic) UILabel *MuTabelLabel; 8 9 @end 10 11 @implementation ViewController 12 13 - (void)viewDidLoad { 14 [super viewDidLoad]; 15 16 /*----------------------------------------设置Label基本属性------------------------------------------------------*/ 17 18 //初始化,设置坐标 19 self.label = [[UILabel alloc] initWithFrame:CGRectMake(25, 200, 325, 100)]; 20 21 //设置Label文字 22 self.label.text = @"今天天气真冷,天气又要降温了,大家要注意保暖啊"; 23 24 //设置Label文字格式(居中对齐等) 25 self.label.textAlignment = NSTextAlignmentCenter; 26 27 //设置Label的行数(默认是1) 28 self.label.numberOfLines = 2; 29 30 //设置Label文字颜色 31 self.label.textColor = [UIColor orangeColor]; 32 33 //设置Label的背景颜色 34 self.label.backgroundColor = [UIColor grayColor]; 35 36 //设置Label的文字的阴影颜色 37 self.label.shadowColor = [UIColor cyanColor]; 38 39 //设置Label文字的阴影部分的偏移量 40 self.label.shadowOffset = CGSizeMake(5, 30); 41 42 //默认是NSLineBreakByTruncatingTail。用于单和多行文本 43 self.label.lineBreakMode = NSLineBreakByTruncatingTail; 44 /* 45 NSLineBreakByWordWrapping = 0,//以空格为边界,保留单词 (包装在单词边界) 46 NSLineBreakByCharWrapping, //保留整个字符 (包装在字符边界) 47 NSLineBreakByClipping, //简单剪裁,到边界为止 48 NSLineBreakByTruncatingHead, //按照"……文字"显示 49 NSLineBreakByTruncatingTail, //按照"文字……"显示 50 NSLineBreakByTruncatingMiddle //按照"文字……文字"显示 51 */ 52 53 //启用用户交互(触发touchBegan) 54 self.label.userInteractionEnabled = YES; 55 56 //更改标签如何绘制(默认是YES) 57 self.label.enabled = YES; 58 59 /*--------------------------------设置Label自动版式,属性文本的设置----------------------------------------------*/ 60 61 //属性字符串 62 NSMutableAttributedString *String = [[NSMutableAttributedString alloc] initWithString:@"忽如一夜春风来,千树万树梨花开"]; 63 64 //设置属性字符串的字体大小(方法1)add方法 65 [String addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:12] range:NSMakeRange(3, 4)]; 66 67 //设置属性字符串的颜色(方法2)set方法 68 [String setAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor],NSForegroundColorAttributeName,nil] range:NSMakeRange(0, 4)]; 69 70 //设置属性字符串的下划线样式,需要导入<CoreText/CoreText.h>头文件 71 [String addAttribute:(NSString *)kCTUnderlineStyleAttributeName value:(id)[NSNumber numberWithInt:kCTUnderlineStyleDouble] range:NSMakeRange(0, 9)]; 72 73 //初始化一个新的Label 74 self.MuTabelLabel = [[UILabel alloc] initWithFrame:CGRectMake(25, 400, 325, 100)]; 75 self.MuTabelLabel.backgroundColor = [UIColor cyanColor]; 76 77 //给Label添加属性文本 78 self.MuTabelLabel.attributedText = String; 79 80 //设置对齐基线,默认是否定的。如果是的,文本将缩小minFontSize基线 81 self.MuTabelLabel.adjustsFontSizeToFitWidth = YES; 82 /* UIBaselineAdjustmentAlignBaselines //文本最上端与Label中线对齐,默认值 83 UIBaselineAdjustmentAlignCenters //文本中线与Label中线对齐 84 UIBaselineAdjustmentNone //文本最下端与Label中线对齐 85 */ 86 87 //UILabel接受的最小字体 88 self.MuTabelLabel.minimumScaleFactor = 12; 89 90 //当父试图的interaction置为NO,子控件,子试图的也不会触发 91 self.view.userInteractionEnabled = YES; 92 93 /*-------------------------------添加到视图---------------------------------------------*/ 94 95 //加载到视图中 96 // [self.view addSubview:self.label]; 97 98 [self.view addSubview:self.MuTabelLabel]; 99 } 100 101 //响应者链 :如果父试图的userInteractionEnable置为NO,那么子试图变无法响应(响应者链的原理) 102 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 103 { 104 NSLog(@"%@",[touches valueForKey:@"view"]); 105 } 106 107 108 109 - (void)didReceiveMemoryWarning { 110 [super didReceiveMemoryWarning]; 111 // Dispose of any resources that can be recreated. 112 } 113 114 @end