iOS for循环创建button,button的宽度根据上面的文字来自适应.(自适应宽度且自动换)...

CGFloat w = 0;
        CGFloat h = 10;
        for (int i = 0; i < self.zuiXingArray.count; i ++) {
        //获取文字的长度
            NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:15]};
            CGFloat length = [self.zuiXingArray[i] boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size.width;
            
            NSLog(@"%f",length);
            UIButton *button = [[UIButton alloc]init];
            button.titleLabel.font = [UIFont systemFontOfSize:15];
            button.frame = CGRectMake(10 + w, h, length + 15 , 30);
            //当大于屏幕的宽度自动换
            if (10 + w + length + 15 > Width)
            {
                w = 0;
                h = h + button.frame.size.height + 10;
                button.frame = CGRectMake(10 + w, h, length + 15 , 30);
            }
            w = button.frame.size.width + button.frame.origin.x;
            [button setTitle:self.zuiXingArray[i] forState:UIControlStateNormal];
            button.backgroundColor = [UIColor redColor];
            [self.MainVIew addSubview:button];
        }


转载于:https://my.oschina.net/gongzhiming/blog/650667

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值