ios 设置label的高度随着内容的变化而变化


好吧

步骤1:创建label

_GeRenJianJie = [[UILabel alloc]init];

步骤2:设置label

_GeRenJianJie.textColor = RGBAColor(95, 104, 115, 1);
    _GeRenJianJie.numberOfLines = 0; // 需要把显示行数设置成无限制
    _GeRenJianJie.font = [UIFont systemFontOfSize:16];

    _GeRenJianJie.textAlignment = NSTextAlignmentLeft;
    _GeRenJianJie.text = @“xxxx ";

步骤三:计算label内容的大小

 CGSize size =  [self sizeWithStr:_GeRenJianJie.text font:_GeRenJianJie.font];

步骤4:设置label的frame

_GeRenJianJie.frame = CGRectMake(15, 30, [UIScreen mainScreen].bounds.size.width-30, size.height);
    [footView addSubview:_GeRenJianJie];

这样就搞定了

其中涉及到一个方法返回label的大小

// 定义成方法方便多个label调用 增加代码的复用性
- (CGSize)sizeWithSt:(NSString *)string font:(UIFont *)font
{
    CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度
                                       options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading  |NSStringDrawingUsesLineFragmentOrigin//采用换行模式
                                    attributes:@{NSFontAttributeName: font}//传人的字体字典
                                       context:nil];

    return rect.size;
}
时间: 2024-12-09 11:44:39

ios 设置label的高度随着内容的变化而变化的相关文章

iOS textFiledView,label自适应高度

CGSize constraintSize; constraintSize.width = 320; constraintSize.height = MAXFLOAT; CGSize sizeFrame =[infoTextView.text sizeWithFont:infoTextView.font = [UIFont systemFontOfSize:12.0] constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWord

safari,IOS下iframe宽高度被内容撑出设备高度

问题:safari浏览器下的iframe的宽高都会被内容撑大 这是一个safari浏览器存在的缺陷,无论如何设置iframe的宽高,都会被内容的宽高撑大,这会导致页面变得很大. 解决方案 设置iframe scrolling="0"属性 使用overflow:scroll的div包裹iframe 设置iframe内页面的body position:fixed 方案一 解决宽度: #iframe{ width:1px; min-width: 100%; *width:100%; } &l

iOS 设置Label中特定的文字大小和颜色

直接上代码: _price = @"27"; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:_cookPrice.text]; //设置颜色 [attributedString addAttribute:NSForegroundColorAttributeName value:[MCUtils colorWithRGBString:@&quo

iOS 计算label的高度

+ (CGFloat)labelHeight:(UILabel *)label lines:(NSInteger)lines { NSRange range = NSMakeRange(0, label.attributedText.length); NSDictionary *dic = [label.attributedText attributesAtIndex:0 effectiveRange:&range]; CGSize size = CGSizeMake(label.bounds.

设置UILabel可变高度(根据文本内容自动适应高度)

@property(nonatomic)UILabel *showLabel; // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高度 // 第二个参数:CGSize结构体,结构体中第一个参数表示宽度,宽度的设置影响计算文本的高度,很明显越宽,高度越小:结构体中第二个参数表示最大能有多高,比如我们写为100,那么即使文本高度计算出来是200, 这个方法也会返回100, 所以一般情况下我们把它写为MAXFLOAT, 表示能有多高返回多

Ios之label自适应里面的文字,自动调整宽度和高度的

[label setNumberOfLines:0];//设置显示的行数 NSString *s = @"string......";//设置要显示的内容 UIFont *font = [UIFont fontWithName:@"Arial" size:12];//设置字体样式 CGSize size = CGSizeMake(320,2000);//设置最大容量 CGSize labelsize = [s sizeWithFont:font constraine

Label自适应高度的用法及设置倒角

UILabel *label = [[UILabel alloc] init]; //根据内容动态计算label的高度 label.text = @"Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions"; //1.获取label当前使用的字体 UIFont *labelFo

iOS 设置UILabel的行间距并自适应高度

NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你"; UILabel *tempLabel = [[UILabel alloc] init]; //设置背景颜色 tempLabel.backgroundColor = [UIColor redColor]; //设置内容 tempLabel.text = contentStr; //设置字体颜色 tempLabel.textColor = [UIColor whiteCol

iOS Label 自适应高度

推荐第二个 测试一,只改变numberOfLines属性,label的高度不会自适应(会有text中的一部分内容称为......) NSString *str = @"jgreijgirjeirgjierjgiu4t9eumctuv5 vtmnvghvmc5v5tgh58tc857y"; UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 50, 100, 100)]; label.font = [UIFont s