产品推荐


控制器:

新建LIProductViewController : UICollectionViewController

        LISettingItem *MoreNetease = [LISettingArrowItem itemWithIcon:@"MoreNetease" title:@"产品推荐" destVcClass:[LIProductViewController class]];


ILSettingTableViewController.m


//

//  ILProductViewController.m

//  ItheimaLottery

//

//  Created by apple on 14-9-10.

//  Copyright (c) 2014 itcast. All rights reserved.

//


#import "ILProductViewController.h"


#import "ILProduct.h"

#import "ILProductCell.h"


@interface ILProductViewController ()


@property (nonatomic, strong) NSMutableArray *products;


@end


@implementation ILProductViewController

static NSString *ID = @"product";

- (NSMutableArray *)products

{

    if (_products == nil) {

        _products = [NSMutableArray array];

    

    

    NSString *fileName = [[NSBundle mainBundle] pathForResource:@"products.json" ofType:nil];

    NSData *data =  [NSData dataWithContentsOfFile:fileName];

        

    NSArray *jsonArr =  [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    

        for (NSDictionary *dict in jsonArr) {  //付给数据给模型

            ILProduct *product = [ILProduct productWithDict:dict];

            [_products addObject:product];

        }

        

    }

    return _products;

}




/*

    使用UICollectionView

    第一步:必须有布局

    第二部:cell必须自己注册

 

 

 */


- (id)init

{

    // 创建流水布局

    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];

    

    // 每一个cell的尺寸

    layout.itemSize = CGSizeMake(80, 80);

    

    // 垂直间距

    layout.minimumLineSpacing = 10;

    

    // 水平间距

    layout.minimumInteritemSpacing = 0;

    

    // 内边距

    layout.sectionInset = UIEdgeInsetsMake(10, 0, 0, 0);

    

    return [super initWithCollectionViewLayout:layout];

}


- (void)viewDidLoad

{

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    


    

    // 注册UICollectionViewCell,如果没有从缓存池找到,就会自动帮我们创建UICollectionViewCell

    UINib *xib = [UINib nibWithNibName:@"ILProductCell" bundle:nil];//nil 就相当于nvbandle mainbundle

    

    [self.collectionView registerNib:xib forCellWithReuseIdentifier:ID];

//    [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:ID];

    

    self.collectionView.backgroundColor = [UIColor whiteColor];

}


// 数据源

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

{

    return 1;

}


- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

{

    return self.products.count;

}


// 返回每一个cell长什么样

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

{

    

    ILProductCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];

    

    // 获取模型

    ILProduct *p = self.products[indexPath.item];

    

    cell.product = p;

    

    return cell;

}


- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath

{

    ILProduct *p = self.products[indexPath.item];

    NSLog(@"点击了---%@",p.title);

}


@end







模型:

ILProduct.h

#import <Foundation/Foundation.h>

/*

 {

 "title": "网易电影票",

 "id": "com.netease.movie",

 "url": "http://itunes.apple.com/app/id583784224?mt=8",

 "icon": "movie@2x.png",

 "customUrl": "movieticket163"

 },

 

 */

@interface ILProduct : NSObject


@property (nonatomic, copy) NSString *title;

@property (nonatomic, copy) NSString *ID;

@property (nonatomic, copy) NSString *url;

@property (nonatomic, copy) NSString *icon;

@property (nonatomic, copy) NSString *customUrl;


+ (instancetype)productWithDict:(NSDictionary *)dict;


@end




ILProduct.m

#import "ILProduct.h"


@implementation ILProduct


+ (instancetype)productWithDict:(NSDictionary *)dict{

    ILProduct *product = [[ILProduct alloc] init];

    

    product.title = dict[@"title"];

    product.icon = dict[@"icon"];

    product.url = dict[@"url"];

    product.customUrl = dict[@"customUrl"];

    product.ID = dict[@"id"];

    

    return product;

}


- (void)setIcon:(NSString *)icon

{

    _icon = [icon stringByReplacingOccurrencesOfString:@"@2x.png" withString:@""];

    

    

}


@end


view



#import <UIKit/UIKit.h>


ILProductCell.h

@class ILProduct;

@interface ILProductCell : UICollectionViewCell


@property (nonatomic, strong) ILProduct *product;


@end


ILProductCell.m

#import "ILProductCell.h"


#import "ILProduct.h"


@interface ILProductCell()

@property (weak, nonatomic) IBOutlet UIImageView *imageView;   //

@property (weak, nonatomic) IBOutlet UILabel *label;          //xiblabel指定为他


@end



@implementation ILProductCell



- (void)awakeFromNib

{

    _imageView.layer.cornerRadius = 10;

    _imageView.clipsToBounds = YES;


}


- (void)setProduct:(ILProduct *)product

{

    _product = product;

    NSLog(@"%@",product.icon);

    UIImage *image = [UIImage imageNamed:@"movie@2x.png"];

    NSLog(@"%@",image);

    _imageView.image = [UIImage imageNamed:product.icon];

    _label.text = product.title;

}


@end














xib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值