iOS初学者联盟之UILabel基础属性大全

作为一个iOS初学者, 我整理了一下UILabel的属性, 并通过代码实现了所有的效果, 通过详细的注释进行了说明.对于那些像我一样英语不好的朋友,你们大可放心,难懂的单词我已经全部做了汉语注释. 希望通过此文章能够帮助的那些跟我一样的初学者.
毫不夸张的说:以下代码只要放在工程中运行一下,效果一目了然,再结合看一下注释,事半功倍
    @implementation RootViewController


- (void)viewDidLoad {//加载视图
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    [self.view setBackgroundColor:[UIColor greenColor]];

//1.frame : n.框架 v.设计     rect : 矩形   设置label位置和大小
    UILabel *labelOne = [[UILabel alloc] initWithFrame:CGRectMake(90, 40, 200, 40)];
    UILabel *labelTwo = [[UILabel alloc] initWithFrame:CGRectMake(90, 90, 200, 40)];
    UILabel *labelThree = [[UILabel alloc] initWithFrame:CGRectMake(90, 140, 200, 40)];
    UILabel *labelFour = [[UILabel alloc] initWithFrame:CGRectMake(90, 190, 200, 40)];
    UILabel *labelFive = [[UILabel alloc] initWithFrame:CGRectMake(90, 240, 200, 40)];
    UILabel *labelSix = [[UILabel alloc] initWithFrame:CGRectMake(90, 290, 200, 40)];
    UILabel *labelSeven = [[UILabel alloc] initWithFrame:CGRectMake(90, 340, 200, 40)];
    UILabel *labelEight = [[UILabel alloc] initWithFrame:CGRectMake(90, 390, 200, 40)];
    UILabel *labelNine = [[UILabel alloc] initWithFrame:CGRectMake(90, 440, 200, 40)];
    UILabel *labelTen = [[UILabel alloc] initWithFrame:CGRectMake(90, 490, 200, 40)];
    UILabel *labelEleven = [[UILabel alloc] initWithFrame:CGRectMake(90, 540, 200, 40)];
    UILabel *labelTwelve = [[UILabel alloc] initWithFrame:CGRectMake(90, 590, 200, 40)];

//2.设置label背景颜色
    [labelOne setBackgroundColor:[UIColor whiteColor]];
    [labelTwo setBackgroundColor:[UIColor whiteColor]];
    [labelThree setBackgroundColor:[UIColor whiteColor]];
    [labelFour setBackgroundColor:[UIColor whiteColor]];
    [labelFive setBackgroundColor:[UIColor whiteColor]];
    //点语法
    labelSix.backgroundColor = [UIColor whiteColor];
    labelSeven.backgroundColor = [UIColor whiteColor];
    labelEight.backgroundColor = [UIColor whiteColor];
    labelNine.backgroundColor = [UIColor whiteColor];
    labelTen.backgroundColor = [UIColor whiteColor];
    labelEleven.backgroundColor = [UIColor whiteColor];
    labelTwelve.backgroundColor = [UIColor whiteColor];

//3.设置显示文字
    [labelOne setText:@"左对齐且加粗并设置最小字号"];
    [labelTwo setText:@"居中对齐"];
    [labelThree setText:@"右对齐"];
    [labelFour setText:@"最后一行自然对齐"];
    [labelFive setText:@"脚本对齐"];
    //点语法来实现
    labelSix.text = @"文本最上端与Label中线对齐";
    labelSeven.text = @"字体大小适应label宽度";
    labelEight.text = @"设置label的行数: 0 无限行";
    labelNine.text = @"设置高亮";
    labelTen.text = @"设置阴影";
    labelEleven.text = @"设置是否能与用户进行交互";
    labelTwelve.text = @"设置label中的文字是否可变, 默认值是YES.";

//4.设置字体: 字号, 并加粗字体  font : 字体; bold : 粗体; system : 方法, 系统, 体制; size : 尺寸
    [labelOne setFont:[UIFont boldSystemFontOfSize:18.0]];
    //设置字体: 字号, 正常(不加粗)
    [labelTwo setFont:[UIFont systemFontOfSize:18.]];
    [labelThree setFont:[UIFont systemFontOfSize:18.]];
    [labelFour setFont:[UIFont systemFontOfSize:18.]];
    [labelFive setFont:[UIFont systemFontOfSize:18.]];
    //点语法
    labelSix.font = [UIFont systemFontOfSize:18.0];
    labelSeven.font = [UIFont systemFontOfSize:18.];

    labelEight.font = [UIFont systemFontOfSize:18.];
    labelNine.font = [UIFont systemFontOfSize:18.];
    labelTen.font = [UIFont systemFontOfSize:18.];
    labelEleven.font = [UIFont systemFontOfSize:18.];
    labelTwelve.font = [UIFont systemFontOfSize:18.];

    //设置最小字体大小,当字体小于这个最小值时无效,显示此属性值
    [labelOne setMinimumScaleFactor:12];

//5.设置文本颜色  text : 文本
    [labelOne setTextColor:[UIColor redColor]];                        
    [labelTwo setTextColor:[UIColor blackColor]];
    [labelThree setTextColor:[UIColor greenColor]];
    [labelFour setTextColor:[UIColor blackColor]];
    [labelFive setTextColor:[UIColor blueColor]];
    //点语法
    labelSix.textColor = [UIColor darkGrayColor];//深灰色
    labelSeven.textColor = [UIColor lightGrayColor];//浅灰色
    labelEight.textColor = [UIColor purpleColor];//紫色
    labelNine.textColor = [UIColor cyanColor];//蓝绿色
    labelTen.textColor = [UIColor magentaColor];//品红色
    labelEleven.textColor = [UIColor brownColor];//褐色,棕色
    labelTwelve.textColor = [UIColor grayColor];//灰色
    // labelTwelve.textColor = [UIColor clearColor]; //消除颜色

//6.设置文本位置  alignment : 对齐
    [labelOne setTextAlignment:NSTextAlignmentLeft];
    [labelTwo setTextAlignment:NSTextAlignmentCenter];
    [labelThree setTextAlignment:NSTextAlignmentRight];
    //最后一行自然对齐              justified : adj. 合乎常理的,  v. 调整
    [labelFour setTextAlignment:NSTextAlignmentJustified];
    // 默认对齐脚本                                         natural :  自然的
    [labelFive setTextAlignment:NSTextAlignmentNatural];

    //设置对齐基线
    labelSix.adjustsFontSizeToFitWidth = YES;//调整基线位置需将此属性设置为YES
    labelSix.baselineAdjustment = UIBaselineAdjustmentAlignBaselines; //文本最上端与Label中线对齐,默认值
    // 此属性有三个值可选
    // 1 UIBaselineAdjustmentAlignBaselines //文本最上端与Label中线对齐,默认值
    // 2 UIBaselineAdjustmentAlignCenters   //文本中线与Label中线对齐
    // 3 UIBaselineAdjustmentNone           //文本最下端与Label中线对齐

    //设置字体大小适应label宽度
    //如果文本一行显示不下,若设置此属性为YES,则会降低字体大小,以显示全部内容。
    //              adjusts : 适应, 调整;  fit : 适合, 使...适应
    [labelSeven setAdjustsFontSizeToFitWidth:YES];
    labelSeven.adjustsFontSizeToFitWidth = YES;


//6.设置label的行数      lines : n.线, v.排成一行
    [labelEight setNumberOfLines:2];
    [labelEight setNumberOfLines:0]; // 0 : 代表无限行(根据字体多少分行)

//7.设置高亮
    [labelNine setHighlighted:YES];
    [labelNine setHighlightedTextColor:[UIColor orangeColor]];

//8.设置阴影    shadow : 阴影;  offset : 偏移, 位移
    [labelTen setShadowColor:[UIColor blackColor]]; //设置阴影颜色
    [labelTen setShadowOffset:CGSizeMake(2.0, 2.0)];  //设置阴影偏移量

//9.设置是否能与用户进行交互   USer : 用户; interaction : 互动,交火作业; enabled : 激活的, 启用
    [labelEleven setUserInteractionEnabled:YES];
    labelEleven.userInteractionEnabled = YES;//点语法, 功能同上

//10.设置label中的文字是否可变, 默认值是YES.  如果设置为No,则文字颜色会变暗,表明其是不可用的
    [labelTwelve setEnabled:NO];
    labelTwelve.enabled = NO;

//11.设置文字过长时的显示格式  (这些系统已经不建议使用了, 了解就行)
    labelSix.lineBreakMode = UILineBreakModeHeadTruncation; //截去中间
    //    NSLineBreakByWordWrapping = 0,//以空格为边界,保留单词
    //    NSLineBreakByCharWrapping,    //保留整个字符
    //    NSLineBreakByClipping,        //简单剪裁,到边界为止
    //    NSLineBreakByTruncatingHead,  //按照"……文字"显示
    //    NSLineBreakByTruncatingTail,  //按照"文字……文字"显示
    //    NSLineBreakByTruncatingMiddle //按照"文字……"显示

//12. 拓展: 关键字标红效果
    NSString *keyword = @"关键字标红";
    NSString *result = @"字体大小适应label宽度并实现关键字标红效果";
    // 设置标签文字
        //初始化 可变的属性字符串
    NSMutableAttributedString *attrituteString = [[NSMutableAttributedString alloc] initWithString:result];
    // 获取标红的位置和长度
    NSRange range = [result rangeOfString:keyword];
    // 设置标签文字的属性
    //attribute 属性                             //foreground : 最显著的位置                                                                                                                                    rang : 范围
    [attrituteString setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor], NSFontAttributeName : [UIFont systemFontOfSize:17]} range:range];

    // 显示在Label上
    labelSeven.attributedText = attrituteString;

    [self.view addSubview:labelOne];
    [self.view addSubview:labelTwo];
    [self.view addSubview:labelThree];
    [self.view addSubview:labelFour];
    [self.view addSubview:labelFive];
    [self.view addSubview:labelSix];
    [self.view addSubview:labelSeven];
    [self.view addSubview:labelEight];
    [self.view addSubview:labelNine];
    [self.view addSubview:labelTen];
    [self.view addSubview:labelEleven];
    [self.view addSubview:labelTwelve];

    [labelOne release];
    [labelTwo release];
    [labelThree release];
    [labelFour release];
    [labelFive release];
    [labelSix release];
    [labelSeven release];
    [labelEight release];
    [labelNine release];
    [labelTen release];
    [labelEleven release];
    [labelTwelve release];

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
如果有遗漏,或者我暂时还没有涉猎到属性,望朋友们多多保函.
热烈欢迎大家补充新的知识点
                                                 __我是百晓生,我为自己代言!
                                                    (江湖人称百晓生)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值