自定义cell设置现价,原价(加横线)

Posted justqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义cell设置现价,原价(加横线)相关的知识,希望对你有一定的参考价值。

原价,现价分别是连个label。这两个label不能直接限制死他们的宽度,因为他们的宽度不确定,而由于lable的特殊性,不设置它的宽度约束时,宽度取决于文字的内容,所以两个lable的约束设置好一些必要的约束即可,不用约束完整(特指宽度)。

对于有横线的lable使用自定义lable,在lable上面画图即可

CenterLineLabel.m
- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    
    //方式一:实心的矩形框
    UIRectFill(CGRectMake(0, rect.size.height * 0.5, rect.size.width, 1));
    
        // 方式二:画线
//    CGContextRef ctx = UIGraphicsGetCurrentContext();
    // 设置起点
//    CGContextMoveToPoint(ctx, 0, rect.size.height * 0.5);
//    // 连线到另一个点
//    CGContextAddLineToPoint(ctx, rect.size.width, rect.size.height * 0.5);
//    // 渲染
//    CGContextStrokePath(ctx);
}

在cell中设置lable的类型为CenterLineLable

    // 处理现价小数位的问题
    self.currentPriceLabel.text = [NSString stringWithFormat:@"¥ %@", deal.current_price];
    NSUInteger dotLoc = [self.currentPriceLabel.text rangeOfString:@"."].location;//小数点的位置
    //19.998
    //length = 6
    //dotLoc = 2
    if (dotLoc != NSNotFound) {//保留两位小数
        // 超过2位小数
        if (self.currentPriceLabel.text.length - dotLoc > 3) {
            self.currentPriceLabel.text = [self.currentPriceLabel.text substringToIndex:dotLoc + 3];
        }
    }

 

以上是关于自定义cell设置现价,原价(加横线)的主要内容,如果未能解决你的问题,请参考以下文章

steam china 2021-2-10记录

markdown Android的开发之TextView的中间设置横线,适用于电商项目,商品原价之类的功能。

IOS 通过 代码 自定义cell(Cell的高度不一致)(优化性能)

2022-05-31:某公司游戏平台的夏季特惠开始了,你决定入手一些游戏。现在你一共有X元的预算。 该平台上所有的 n 个游戏均有折扣,标号为 i 的游戏的原价a_i元,现价只要b_i元, 也就是说该

自定义的cell,在编辑状态不会右偏

自定义非等高 Cell