<div class="blogpost-body" id="cnblogs_post_body">
<h1 class="postTitle"> </h1>
<div class="clear">
<span style="font-size:18pt;"><strong> iOS仿京东分类菜单之UICollectionView内容</strong></span>
</div>
<div class="postBody">
<div>
<p>在 上<iOS仿京东分类菜单实例实现>已经实现了大部分主体的功能,本文是针对右边集合列表进行修改扩展,使它达到分组的效果,本文涉及到的主要是UICollectionView的知识内容,左边列表的实现见上一篇文章,先看实现的效果图:</p>
<table border="0"><tbody><tr><td><img alt="" height="383" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-41caba8926869da22cc1901e9734a2f8.png" width="208"></td><td><img alt="" height="389" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-c88f7e14a12badccd21f9790b010a6ba.png" width="211"></td></tr></tbody></table>
<p><span style="font-size:14pt;"><strong>一:实体的创建</strong></span></p>
<p>1.1分组实体的创建(tagID跟左边表格进行关联,roomArray是存放房间的数组,也就是单元格的集合)</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
<pre class="blockcode">#import <Foundation/Foundation.h>
@interface rightModel : NSObject
//实体leftTageModel中的主键值
@property(assign,nonatomic)long tagID;
@property(assign,nonatomic)long roomStyleID;
@property(copy,nonatomic)NSString *roomStyleName;
//房间实体headRightModel的数组
@property(strong,nonatomic)NSMutableArray *roomArray;
@end</pre>
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
</div>
<p>1.2房间实体的创建</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
<pre class="blockcode">#import <Foundation/Foundation.h>
@interface headRightModel : NSObject
@property(assign,nonatomic)long roomID;
@property(copy,nonatomic)NSString *roomName;
@property(copy,nonatomic)NSString *roomImageUrl;
@end</pre>
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
</div>
<p><span style="font-size:14pt;"><strong>二:单元格的创建</strong></span></p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
<pre class="blockcode">#import <UIKit/UIKit.h>
#import "headRightModel.h"
@interface rightCollectionViewCell : UICollectionViewCell
@property(strong,nonatomic)headRightModel *curHeadRightModel;
+(CGSize)ccellSize;
@end</pre>
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
</div>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">
<span class="cnblogs_code_copy"><a title="复制代码"><img alt="复制代码" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-48304ba5e6f9fe08f3fa1abda7d326ab.gif"></a></span>
</div>
<pre class="blockcode">#import "rightCollectionViewCell.h"
@interface rightCollectionViewCell()
@property(strong,nonatomic)UIImageView *roomImageView;
@property(strong,nonatomic)UILabel *roomLabel;
@end
static const CGFloat collectionCellHeight=80;
static const CGFloat labelHeight=20;
@implementation rightCollectionViewCell
//这边很关键 CollectionViewCell重用
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
if (self.roomImageView==nil) {
self.roomImageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, ([UIScreen mainScreen].bounds.size.width-80-10*3)/3, collectionCellHeight-labelHeight)];
self.roomImageView.contentMode=UIViewContentModeScaleAspectFill;
self.roomImageView.clipsToBounds = YES;
self.roomImageView.layer.masksToBounds = YES;
self.roomImageView.layer.cornerRadius = 2.0;
[self.contentView addSubview:self.roomImageView];
}
if (self.roomLabel==nil) {
self.roomLabel=[[UILabel alloc]init];
self.roomLabel.font=[UIFont systemFontOfSize:15];
self.roomLabel.textAlignment=NSTextAlignmentCenter;
|
|