• 根据字符串长度 算label高度


    - (void)viewDidLoad {

        [super viewDidLoad];

        NSString *str = @"delegateblock一般是用与两个对象11之间的通信交互,delegate需要定义协议方法,代理对象实现协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如果通信事件比较 多的话,建议使用delegateNotification主要用于1对多的情况下通信,而且对象之间不需要建立关系,但是使用 ";

        

        CGFloat ScreenW = [[UIScreen mainScreen] bounds].size.width;

        

        CGFloat labelX = 10;

        CGFloat labelY = 100;

        CGFloat labelW = (ScreenW - labelX*2);

        CGFloat labelH = [self getStrSize:str andTexFont:[UIFont systemFontOfSize:17] andMaxSize:CGSizeMake(labelW, MAXFLOAT)].height;

        

        UILabel *myLable =[[UILabel alloc] initWithFrame:CGRectMake(labelX, labelY, labelW, labelH)];

        myLable.numberOfLines = 0;

        myLable.text = str;

        myLable.backgroundColor = [UIColor orangeColor];

        [self.view addSubview:myLable];

      

        

    }

     

    - (CGSize)getStrSize:(NSString *)textStr andTexFont:(UIFont *)font andMaxSize:(CGSize)maxSize

    {

        NSDictionary *textAttDict = @{NSFontAttributeName : font};

        

        return [textStr boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:textAttDict context:nil].size;

    }

  • 相关阅读:
    MYSQL数据库学习十二 使用MySQL运算符
    MYSQL数据库学习十一 多表数据记录查询
    MYSQL数据库学习十 单表数据记录查询
    MYSQL数据库学习九 数据的操作
    MYSQL数据库学习八 触发器的操作
    MYSQL数据库学习七 视图的操作
    MYSQL数据库学习六 索引的操作
    MYSQL数据库学习五 表的操作和约束
    MySQL数据库学习四 存储引擎和数据类型
    MySQL数据库学习三 数据库对象和基本操作
  • 原文地址:https://www.cnblogs.com/sunflower-lhb/p/5144710.html
Copyright © 2020-2023  润新知