#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. Discuz! 6.x/7.x 版本 前台任意代码执行漏洞

    一.漏洞原理: 由于php5.3.x版本里php.ini的设置里request_order默认值为GP,导致Discuz! 6.x/7.x 全局变量防御绕过漏洞. include/global.fun ...

  2. IE漏洞调试之CVE-2013-3893

    前言 Windows平台的漏洞挖掘和安全研究中,IE始终是绕不开的话题.IE漏洞就跟adobe系列一样经典,是学习exploit.shellcode的绝佳途径. 在IE漏洞中,UAF即Use-Afte ...

  3. csharp 面向对象编程

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Shap ...

  4. min-height IE6的解决方案

    selector { min-height:500px; height:auto !important; height:500px; } 因为IE6中当内容大于容器高度或宽度时,就会撑破容器.并且在同 ...

  5. 处理 WebService 中的 Map 对象

    最近,我们讨论了关于 WebService 的相关问题.目前在 Smart 中,可发布两种类型的 WebService,它们是:SOAP 服务 与 REST 服务,您可以根据需要自由选择. 今天,我要 ...

  6. mysql show profiles使用分析sql性能

    mysql show profiles使用分析sql性能 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看一下我的数据库版本 mysql> ...

  7. PHP性能优化大全

    第一章  针对系统调用过多的优化 我这次的优化针对syscall调用过多的问题,所以使用strace跟踪apache进行分析. 1.  apache2ctl -X & 使用-X(debug)参 ...

  8. 深入NIO Socket实现机制(转)

    http://www.jianshu.com/p/0d497fe5484a# 前言 Java NIO 由以下几个核心部分组成: Buffer Channel Selector 以前基于net包进行so ...

  9. 微信小程序页面跳转

    一:跳转的数据传递 例如:wxml中写了一个函数跳转: [html] view plain copy <view class="itemWeight" catchtap=&q ...

  10. js使用ctrl+s保存表单提升用户体验

    本质上是监控ctrl+s 然后触发相应事件 <script language="JavaScript"> //Ctrl+s保存 document.onkeydown=f ...