#pragma mark — 视图控制器中使用:(关键)
layout.estimatedItemSize = CGSizeMake(WIDTH, ); // layout约束这边必须要用estimatedItemSize才能实现自适应,使用itemSzie无效
//
// 商品详情 容器 详情 cell #import <UIKit/UIKit.h> @interface DetailsViewCell : UICollectionViewCell
@property (nonatomic,strong) CategorizeListOfGoodsModel *goodsitemmodel; @end
#import "DetailsViewCell.h"

@interface DetailsViewCell()

@property (nonatomic,strong) UILabel *titletxt;//标题
@property (nonatomic,strong) UILabel *pracetxt;//价格
@property (nonatomic,strong) UILabel *msaletxt;//销量 @end @implementation DetailsViewCell - (void)setGoodsitemmodel:(CategorizeListOfGoodsModel *)goodsitemmodel
{
_goodsitemmodel = goodsitemmodel;
self.titletxt.text = [NSString stringWithFormat:@"%@",goodsitemmodel.title];
self.pracetxt.text = [NSString stringWithFormat:@"¥%@",goodsitemmodel.voucher_price];
self.msaletxt.text = [NSString stringWithFormat:@"月销%@",goodsitemmodel.m_sale]; [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.mas_equalTo();
make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width);
make.bottom.mas_equalTo(self.pracetxt.mas_bottom).offset();
}]; [self.titletxt mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self).mas_offset();
make.left.equalTo(self).mas_offset();
make.right.equalTo(self).mas_offset(-);
}]; [self.pracetxt mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titletxt.mas_bottom).mas_offset();
make.bottom.equalTo(self).mas_offset(-);
make.left.equalTo(self).mas_offset();
}]; [self.msaletxt mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titletxt.mas_bottom).mas_offset();
make.bottom.equalTo(self).mas_offset(-);
make.right.equalTo(self).mas_offset(-);
}]; } - (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self initWithUIFrame:frame];
}
return self;
} - (void)initWithUIFrame:(CGRect)rect
{
self.contentView.backgroundColor = [UIColor whiteColor];
self.titletxt = [[UILabel alloc]init];
self.titletxt.font = [UIFont systemFontOfSize:];
self.titletxt.textColor = [YColor YColorWithHexString:@"#333333"];
self.titletxt.numberOfLines = ;
[self.contentView addSubview:self.titletxt]; self.pracetxt = [[UILabel alloc]init];
self.pracetxt.font = [UIFont systemFontOfSize:];
self.pracetxt.textColor = [YColor YColorWithHexString:@"#F32F19"];
[self.contentView addSubview:self.pracetxt]; self.msaletxt = [[UILabel alloc]init];
self.msaletxt.font = [UIFont systemFontOfSize:];
self.msaletxt.textColor = [YColor YColorWithHexString:@"#999999"];
[self.contentView addSubview:self.msaletxt]; } #pragma mark — 实现自适应文字宽度的关键步骤:item的layoutAttributes
- (UICollectionViewLayoutAttributes*)preferredLayoutAttributesFittingAttributes:(UICollectionViewLayoutAttributes*)layoutAttributes {
[self setNeedsLayout];
[self layoutIfNeeded];
CGSize size = [self.contentView systemLayoutSizeFittingSize: layoutAttributes.size];
CGRect cellFrame = layoutAttributes.frame;
cellFrame.size.height= size.height;
layoutAttributes.frame= cellFrame;
return layoutAttributes;
} @end

ios . -- UICollectionView --cell 自适应的更多相关文章

  1. IOS XIB Cell自适应高度实现

    1.代码实现Cell高度自适应的方法 通过代码来实现,需要计算每个控件的高度,之后获取一个cell的 总高度,比较常见的是通过lable的文本计算需要的高度. CGSize labelsize = [ ...

  2. 自定义cell自适应高度

    UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能 ...

  3. TableView cell自适应高度-----xib

    1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExte ...

  4. iOS 在cell中使用倒计时的处理方法(新)

    一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...

  5. iOS tableview cell 的展开收缩

    iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITabl ...

  6. iOS UICollectionView 长按移动cell

    ref:http://www.jianshu.com/p/31d07bf32d62 iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. . 手残效果图 ...

  7. iOS UICollectionView高级用法(长按自由移动cell)-新

    [reference]http://www.jianshu.com/p/31d07bf32d62 iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. ...

  8. iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距

    之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈.这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身 ...

  9. iOS UICollectionView高级用法(长按自由移动cell)

    iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. . 手残效果图没弄好. @property (nonatomic, strong) UIColle ...

随机推荐

  1. 怎样在点击li时添加样式,移除兄弟样式

    <style type="text/css"> .add{ color:#ff0} </style> <div> <ul> < ...

  2. 实现一个JDK代理demo

    JDK代理,非常简单地实现了动态代理(首先是实现对应的InvocationHandler:然后,以接口来为被调用目标构建代理对象,代理对象简介运行调用目标,并提供额外逻辑插入) 缺点:它是只能以接口为 ...

  3. 【云计算】Docker监控相关资料

    Cloud Insight 是东半球首款次世代系统监控工具:http://www.oneapm.com/ci/docker.html?utm_source=BaiduPaid&utm_medi ...

  4. 怎样制作一个横版格斗过关游戏 Cocos2d-x 2.0.4

     本文实践自 Allen Tan 的文章<How To Make A Side-Scrolling Beat 'Em Up Game Like Scott Pilgrim with Coco ...

  5. docker入门——管理容器

    除了交互式的容器(interactive container),我们也可以创建长期运行的容器.守护式容器(daemonized container)没有交互式会话,非常适合运行应用程序和服务.大多数时 ...

  6. docker实战——Docker本地私有镜像仓库Harbor搭建及配置

    Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...

  7. JavaScript | 基础表单验证(纯Js)

    ———————————————————————————————————————————— 基础表单验证(纯js) - - - - - - - - - - - - - - - - - - - - - - ...

  8. NodeJS 安装cnpm命令行工具错误问题解决

    考虑问题从两个方面: 1.网速(网络太慢也是安装失败的一个原因) 2.系统用户权限(需要系统最开始使用的用管理员,新增的管理员安装会有问题) 报错问题记录于此: 实际上问题是:Windows_NT 6 ...

  9. MySQL学习总结(五)表数据查询

    查询数据记录,是指从数据库对象表中获取所要查询的数据记录,该操作可以说是数据最基本的操作之一,也是使用频率最高.最重要的数据操作. 1.单表数据记录查询 1.1.简单数据查询 SELECT field ...

  10. LuaStudio编辑调试软件

    该编辑调试器最大特点就是能够注入到宿主程序内对lua脚本进行调试.还能够设置断点观察变量的值,功能很强大. 如今已有的编辑器有Notepad++, Editplus, luaforwindows, S ...