自动适配标签显示

来源:互联网 发布:c 游戏编程入门教程 编辑:程序博客网 时间:2024/05/21 14:52

@interface ViewController ()
{
NSArray *arr;
CGFloat height;
}

@end

@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @”多标签”;
    self.view.backgroundColor = [UIColor whiteColor];

    arr = @[@”福利”,@”责任心”,@”呵呵呵呵呵呵”,@”秘密”,@”帅”,@”小小”,@”福利”,@”责任心”,@”呵呵呵呵呵呵”,@”秘密”,@”帅”,@”小小”,@”帅”,@”帅”];
    [self setLableView];
    }

  • (void)setLableView
    {
    CGFloat x = 10.0f;
    CGFloat y = 74.0f;
    height = 40;
    CGFloat surplusWidth = self.view.frame.size.width-20; //剩余宽度
    CGFloat lableWidth = 0; //标签的宽度

    for (NSString *string in arr) {

     CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize: CGSizeMake(MAXFLOAT,30) lineBreakMode:NSLineBreakByWordWrapping];lableWidth = size.width+10;if (surplusWidth < lableWidth) {    y = y+40;    x = 10;    surplusWidth = self.view.frame.size.width-20;    height = height +40;}UIButton *lableBtn = [[UIButton alloc] initWithFrame:CGRectMake(x, y, lableWidth, 30)];[lableBtn setTitle:string forState:UIControlStateNormal];[lableBtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];lableBtn.backgroundColor = [UIColor blueColor];lableBtn.layer.cornerRadius = 5;lableBtn.layer.masksToBounds = YES;lableBtn.titleLabel.font = [UIFont systemFontOfSize:13];[self.view addSubview:lableBtn];x = lableWidth+10 + x;surplusWidth = surplusWidth - lableWidth -10;NSLog(@"%f",height);

    }
    }

@end

这里写图片描述

0 0
原创粉丝点击