自定义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];
        }
    }
时间: 2024-10-25 21:26:07

自定义cell设置现价,原价(加横线)的相关文章

给自定义cell设置分隔线的不同做法

1.给cell添加一个UIView,设置UIView的高度为1,并设置这个UIView的左.下.右约束. 2.不需要给cell添加任何控件,重写cell的- (void)setFrame:(CGRect)frame方法 - (void)setFrame:(CGRect)frame { frame.size.height -= 1; [super setFrame:frame]; } /* 这样一来,每个cell的高度都减少了1,底部就会空出高度为1的间隙,这个间隙的颜色为tableView的背景

懒加载 字典转模型 自定义cell

1 懒加载: 1>  什么是懒加载? 懒加载又称为延时加载,即在系统调用的时候加载,如果系统不调用则不会加载.所谓的懒加载其实就是重写其 get 方法. 2>  特点:在使用懒加载的时候要先判断该方法是否已经存在,如果不存在则再进行实例化. 3>  优点: 不必将创建对象的方法都写在 viewDidLoad 里面,代码可读性更强. 每个控件的getter 方法分别负责各自的实例化处理,独立性强,耦合性低. 4>  使用步骤: 声明一个属性.该属性可以是私有属性也可以是在. h 文件

当自定义cell的时候 怎样设置UITableViewController 的tableViewCell为分组结构

ios系统默认的cell并不能满足我们的需求 这个时候就需要自定义我们的cell 自定义cell为分组的时候 需要设置分组样式  以下是我常用分组的二种方法: 第一是 在自定义的UITableViewController 中当view加载完毕时 [self.tableView initWithFrame:self.view.bounds style:UITableViewStyleGrouped]; (注意:这种写法没什么问题就是编译的时候会有一个expression result unused

【iOS开发-62】自定义cell制作团购页面、顶部图片轮播、底部模拟加载更多功能,核心是练习代理模式

(1)效果 (2)案例源代码免费下载 团购页面+iOS源代码+头部广告轮播+底部加载更多 (3)补充 在源代码中,有一处瑕疵:就是因为是单线程,所以在上下拖动页面的时候,上面的图片轮播会停止.所以我们需要兼顾,解决方案,把定时器加到当前的runLoop中. 即在WPTgHeaderView.m的playOn方法中添加一行代码: -(void)playOn{ timer=[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector

加载自定义 cell 的 XIB 文件 的两种方式

自定义单元格如果是使用 IB  方式创建的,则需要手动加载,因为 XIB 上的 cell 不会自动加载 第一种:使用应用程序束 应用程序束 NSBundle:获得工程中所有的资源的路径,相当于当前工程的目录. //获得指定的xib中所有的视图 NSArray * array =  [[NSBundle mainBundle] loadNibNamed:@"ZYTableViewCell" owner:nil options:nil]; 注意通过应用程序束获得返回值是 XIB 文件中所有

自定义cell的左侧滑动

效果如上图,中间那个白线是一个UIview. 如果不添加中间那根白线,用系统的方法就可以实现,方法如下 1 -(NSArray<UITableViewRowAction*>*)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ 2     UITableViewRowAction *rowAction = [UITableViewRowAction rowAction

iOS 获取自定义cell上按钮所对应cell的indexPath.row的方法

在UITableView或UICollectionView的自定义cell中创建一button,在点击该按钮时知道该按钮所在的cell在UITableView或UICollectionView中的行数.就是cell的 indexPath.row,下面以UITableView为例: 有两种方法: -(IBAction):(id)sender { 1. 第一种方法,这个方便一点点,不用设置tag. NSLog(@"MyRow:%d",[self.table indexPathForCell

猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44926809 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 自定义Cell 本次主要是自定义Cell的学习 实现自定义Cell主要有三种方法:按照使用的频繁度排序: XIB > 纯代码 > StoryBoard XIB的定义步骤 1> 新建HMTgCell.xib 2> 拽一

(素材源码)猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8572001 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 自定义Cell 本次主要是自定义Cell的学习 实现自定义Cell主要有三种方法:按照使用的频繁度排序: XIB > 纯代码 > StoryBoard XIB的定义步骤 1> 新建HMTgCell.xib 2> 拽一个需要自定义