iOS 小标签

最近因为需求变动,原来用的公共标签不能够满足需求了,遂速写了一款标签。。 下面是主要代码(用了masonry):

- (void)makeLableViewWithArray:(NSMutableArray *)arrServiceEst
{
    WS(ws)
    UIView *aView = [[UIView alloc]init];
    [self.viewServiceEst addSubview:aView];
    UIView *previousViewLable = nil;
    for (NSInteger index = 0; index < arrServiceEst.count; index++) {
        
        UILabel *alable = [[UILabel alloc]init];
        UIView *viewLable = [[UIView alloc]init];
        alable.text = [arrServiceEst[index] estName];
        alable.font = [UIFont systemFontOfSize:10];
        alable.textColor = UIColorFromRGB(0xbbbbbb);
        [self.viewServiceEst addSubview:viewLable];
        [viewLable addSubview:alable];

        if (previousViewLable) {
            [viewLable mas_makeConstraints:^(MASConstraintMaker *make) {
                make.left.mas_equalTo(previousViewLable.mas_right).with.offset(5);
            } ];

        } else {
            [viewLable mas_makeConstraints:^(MASConstraintMaker *make) {
                make.left.equalTo(aView.mas_left);
            }];

        }
        [viewLable mas_makeConstraints:^(MASConstraintMaker *make) {
            make.centerY.mas_equalTo(aView.mas_centerY);
        }];

        previousViewLable = viewLable;
        [alable mas_makeConstraints:^(MASConstraintMaker *make) {
             make.edges.equalTo(viewLable).with.insets(UIEdgeInsetsMake(2, 6, 2, 6));
        }];
        [previousViewLable.layer setCornerRadius:2];
        [previousViewLable.layer setMasksToBounds:YES];
        [previousViewLable.layer setBorderColor:RGBA(204, 204, 204, 1).CGColor];
        [previousViewLable.layer setBorderWidth:1];
    }

    [aView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(ws.viewServiceEst).with.insets(UIEdgeInsetsMake(0, 0, 0, 0));
    }];
    
    
}
原文地址:https://www.cnblogs.com/song-kl/p/4825331.html