ios . -- UICollectionView --cell 自适应
#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 自适应的更多相关文章
- IOS XIB Cell自适应高度实现
1.代码实现Cell高度自适应的方法 通过代码来实现,需要计算每个控件的高度,之后获取一个cell的 总高度,比较常见的是通过lable的文本计算需要的高度. CGSize labelsize = [ ...
- 自定义cell自适应高度
UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能 ...
- TableView cell自适应高度-----xib
1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExte ...
- iOS 在cell中使用倒计时的处理方法(新)
一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...
- iOS tableview cell 的展开收缩
iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITabl ...
- iOS UICollectionView 长按移动cell
ref:http://www.jianshu.com/p/31d07bf32d62 iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. . 手残效果图 ...
- iOS UICollectionView高级用法(长按自由移动cell)-新
[reference]http://www.jianshu.com/p/31d07bf32d62 iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. ...
- iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距
之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈.这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身 ...
- iOS UICollectionView高级用法(长按自由移动cell)
iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. . 手残效果图没弄好. @property (nonatomic, strong) UIColle ...
随机推荐
- 计算两个经纬度之间的距离(python算法)
EARTH_REDIUS = 6378.137 def rad(d): return d * pi / 180.0 def getDistance(lat1, lng1, lat2, lng2): r ...
- Scala快学笔记(二)
一,基本概念 1,映射 Map与HashMap与TreeMap,SotredMap等区别: 1.HashMap键无序,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度 ...
- Python 转义html中以"&#"开头的字符
from HTMLParser import HTMLParser print HTMLParser().unescape('中国')
- rails手脚架(scaffold)功能
scaffold是一个高速开发rails应用的代码框架.能够使用一条命令实现CRUD操作. 1: 创建一个应用 rails new scaffoldapp cd scaffoldapp rails s ...
- Django—— 缓存框架
译者注:1.无用的,吹嘘的说辞不翻译:2.意译,很多地方不准确. 动态网站最为重要的一点就是好,网页是动态的.每一次用户请求页面,网站就要进行各种计算——从数据库查询,到render模板,到各种逻辑运 ...
- PHP中单引号双引号使用原则
PHP中单引号双引号使用原则 1.PHP中尽量用单引号,HTML代码全部用双引号 2.在包含变量的时候,用双引号可以简化操作 3.复杂的情况下用大括号包起来 4 PHP引号还有一个用处 ...
- JavaScript | 对象与属性
———————————————————————————————————————————— 对象:JavaScript是基于原型的语言,没有Class,所以将函数作为类 - - - - - - - - ...
- C语言-十进制转换为二进制函数
char * itobs(int num, char * str) { int i; * sizeof(int); ; i >= ; i--, num >>= ) { str[i] ...
- 借鉴炉石传说的战棋游戏《DarkWar》
<炉石传说>是现在很火的休闲对战游戏,本人也非常喜欢玩,玩的时候经常想能不能把炉石的这些元素融入到战棋类游戏中,于是思索良久,又恰逢游戏蛮牛开展第三届蛮牛杯游戏开发大赛,于是用Unity3 ...
- 数据库面试题.net
1.ADO.net中常用的对象 connection, command, sqladapter, dataset, dataview. 2.net中读写数据库要用到哪些类 DataSet数据存储 Da ...