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

原创
2016/03/31 15:26
阅读数 2.6K
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];
        }


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
2 收藏
1
分享
返回顶部
顶部