iOS仿京东分类菜单之UICollectionView内容

论坛 期权论坛     
选择匿名的用户   2021-5-26 13:27   756   0
<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>在 上&lt;iOS仿京东分类菜单实例实现&gt;已经实现了大部分主体的功能,本文是针对右边集合列表进行修改扩展,使它达到分组的效果,本文涉及到的主要是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 &lt;Foundation/Foundation.h&gt;

&#64;interface rightModel : NSObject
//实体leftTageModel中的主键值
&#64;property(assign,nonatomic)long tagID;
&#64;property(assign,nonatomic)long roomStyleID;
&#64;property(copy,nonatomic)NSString *roomStyleName;
//房间实体headRightModel的数组
&#64;property(strong,nonatomic)NSMutableArray *roomArray;
&#64;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 &lt;Foundation/Foundation.h&gt;

&#64;interface headRightModel : NSObject

&#64;property(assign,nonatomic)long roomID;
&#64;property(copy,nonatomic)NSString *roomName;
&#64;property(copy,nonatomic)NSString *roomImageUrl;
&#64;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 &lt;UIKit/UIKit.h&gt;
#import &#34;headRightModel.h&#34;

&#64;interface rightCollectionViewCell : UICollectionViewCell

&#64;property(strong,nonatomic)headRightModel *curHeadRightModel;

&#43;(CGSize)ccellSize;

&#64;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 &#34;rightCollectionViewCell.h&#34;

&#64;interface rightCollectionViewCell()
&#64;property(strong,nonatomic)UIImageView *roomImageView;
&#64;property(strong,nonatomic)UILabel *roomLabel;
&#64;end

static const CGFloat collectionCellHeight&#61;80;
static const CGFloat labelHeight&#61;20;

&#64;implementation rightCollectionViewCell

//这边很关键 CollectionViewCell重用
- (id)initWithFrame:(CGRect)frame
{
    self &#61; [super initWithFrame:frame];
    if (self) {
        if (self.roomImageView&#61;&#61;nil) {
            self.roomImageView&#61;[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, ([UIScreen mainScreen].bounds.size.width-80-10*3)/3, collectionCellHeight-labelHeight)];
            self.roomImageView.contentMode&#61;UIViewContentModeScaleAspectFill;
            self.roomImageView.clipsToBounds &#61; YES;
            self.roomImageView.layer.masksToBounds &#61; YES;
            self.roomImageView.layer.cornerRadius &#61; 2.0;
            [self.contentView addSubview:self.roomImageView];
        }
        
        if (self.roomLabel&#61;&#61;nil) {
            self.roomLabel&#61;[[UILabel alloc]init];
            self.roomLabel.font&#61;[UIFont systemFontOfSize:15];
            self.roomLabel.textAlignment&#61;NSTextAlignmentCenter;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP