您的位置:首页 > 产品设计 > UI/UE

UILabel 整理

2016-03-01 13:48 330 查看
#pragma mark 常用属性
// 设置字体:粗体,正常的是 SystemFontOfSize
label.font = [UIFont boldSystemFontOfSize:20];

// 设置文字颜色
label.textColor = [UIColor orangeColor];

// 设置标签文本对齐方式 ,还有NSTextAlignmentLeft,NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter;

// 设置字体大小适应label宽度
label.adjustsFontSizeToFitWidth = YES;

// 设置label的行数
label.numberOfLines = 2;

// 设置背景色
label.backgroudColor=[UIColor clearColor]; //可以去掉背景色

// Label添加边框
titleLabel.layer.borderColor = [[UIColor grayColor] CGColor];
titleLabel.layer.borderWidth = 2;

// 设置圆角
label.layer.cornerRadius = 5;
label.layer.masksToBounds = YES;
label.clipsToBounds = YES;

// 设置是否能与用户进行交互
label.userInteractionEnabled = YES;

// 设置高亮
label.highlighted = YES;
label.highlightedTextColor = [UIColor orangeColor];

// 设置阴影
label.shadowColor = [UIColor redColor];
label.shadowOffset = CGSizeMake(1.0,1.0);

// 设置label中的文字是否可变,默认值是YES
// 为NO将会使文本变暗,表示它没有激活,这时向它设置颜色值是无效的
label.enabled = NO;

// lineBreakMode设置文字过长时的显示格式
label.lineBreakMode = NSLineBreakByCharWrapping;//以字符为显示单位显示,后面部分省略不显示
typedef enum {
NSLineBreakByCharWrapping;     //以字符为显示单位显示,后面部分省略不显示。
NSLineBreakByClipping;         //剪切与文本宽度相同的内容长度,后半部分被删除。
NSLineBreakByTruncatingHead;   //前面部分文字以……方式省略,显示尾部文字内容。
NSLineBreakByTruncatingMiddle; //中间的内容以……方式省略,显示头尾的文字内容。
NSLineBreakByTruncatingTail;   //结尾部分的内容以……方式省略,显示头的文字内容。
NSLineBreakByWordWrapping;     //以单词为显示单位显示,后面部分省略不显示。
} NSLineBreakMode;

// 如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
label.baselineAdjustment = UIBaselineAdjustmentNone;
typedef enum {
UIBaselineAdjustmentAlignBaselines = 0,   //默认,文本最上端与中线对齐。
UIBaselineAdjustmentAlignCenters,         //文本中线与label中线对齐。
UIBaselineAdjustmentNone,                 //文本最低端与label中线对齐
} UIBaselineAdjustment;

// Autoshrink 是否自动收缩Fixed Font Size 默认,如果Label宽度小于文字长度时时,文字大小不自动缩放
// minimumScaleFactor 设置最小收缩比例,如果Label宽度小于文字长度时,文字进行收缩,收缩超过比例后,停止收缩。
// minimumFontSize 设置最小收缩字号,如果Label宽度小于文字长度时,文字字号减小,低于设定字号后,不再减小。//6.0以后不再使用了。
label.minimumScaleFactor = 0.5;

// adjustsLetterSpacingToFitWidth 改变字母之间的间距来适应Label大小
label.adjustsLetterSpacingToFitWidth = NO;

// adjustsFontSizeToFitWidth 设置字体大小适应label宽度
label.adjustsFontSizeToFitWidth = YES;

// attributedText 设置标签属性文本。
{
NSString *text = @"first";
NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc]initWithString:text];
[textLabelStr setAttributes:@{NSForegroundColorAttributeName : [UIColor lightGrayColor],
NSFontAttributeName : [UIFont systemFontOfSize:17]}
range:NSMakeRange(11,10)];
label.attributedText = textLabelStr;
}

// 计算UIlabel 随字体多行后的高度
{
CGRect bounds = CGRectMake(0, 0, 200, 300);
heightLabel = [myLabel textRectForBounds:bounds limitedToNumberOfLines:20]; //计算20行后的Label的Frame
NSLog(@"%f",heightLabel.size.height);
}

// UILabel根据字数多少自动实现适应高度
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(15, 45, 0, 0)];
label.backgroundColor = [UIColor lightTextColor];
[label setNumberOfLines:0];
label.lineBreakMode = UILineBreakModeWordWrap;
label.font = [UIFont fontWithName:@"Arial" size:12];
CGSize size = CGSizeMake(290, 1000);
label.text = @"获取到的deviceToken,我们可以通过webservice服务提交给.net应用程序,这里我简单处理,直接打印出来,拷贝到.net应用环境中用";
CGSize labelSize = [label.text sizeWithFont:fonts constrainedToSize:size];
[label setFrame:CGRectMake(15, 45, 290, labelSize.height)];
}

// 渐变字体Label
{
UIColor *titleColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"btn.png"]];
NSString *title = @"Setting";
UILabel *titleLabel = [[UILabel alloc]] initWithFrame:CGRectMake(0, 0, 80, 44)];
titleLabel.textColor = titleColor;
titleLabel.text = title;
titleLabel.font = [UIFont boldSystemFontOfSize:20];
titleLabel.backgroundColor = [UIColor clearColor];
[self.view addSubview:titleLabel];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: