TableViewController.h
// // TableViewContoller.h // IteyeBlog // // Created by youbao on 16/10/15. // Copyright © 2016年 youbao. All rights reserved. // #import <UIKit/UIKit.h> @interface TableViewContoller : UIViewController @end
TableViewController.m
// // TableViewContoller.m // IteyeBlog // // Created by youbao on 16/10/15. // Copyright © 2016年 youbao. All rights reserved. // #import "TableViewContoller.h" #import "TableViewCell.h" #import "UIImageView+WebCache.h" #import "OfferEntity.h" #import "MJRefresh.h" static NSString *const IconUrl = @"http://ods5pg0qp.bkt.clouddn.com/iteyeblog/icon.png"; @interface TableViewContoller ()<UITableViewDelegate,UITableViewDataSource> @property (weak, nonatomic) IBOutlet UITableView *tableView; @property (nonatomic, retain) NSMutableArray *mDataArray; @end @implementation TableViewContoller #pragma mark - init #pragma mark 初始化数据 - (NSArray *)mDataArray{ if (!_mDataArray) { OfferEntity *entity = [[OfferEntity alloc] init]; entity.iconurl = IconUrl; entity.name = @"baoyou"; entity.desc = @"IT 工程师"; self.mDataArray = [NSMutableArray array]; for (int i = 0; i<5; i++) { [self.mDataArray addObject:entity]; } } return _mDataArray; } #pragma mark - 视图管理 #pragma mark viewdidload -(void) viewDidLoad{ [super viewDidLoad]; NSLog(@"==========view did load============="); self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ [self onRresh]; }]; self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(onLoadMore)]; } #pragma mark - request #pragma mark 请求数据 static int currentPage = 0; static int defualtPageSize = 15; -(void) onRequest:(int) currIndex{ if(currIndex == 0){ OfferEntity *entity3 = [[OfferEntity alloc] init]; entity3.iconurl = IconUrl; entity3.name = @"baoyou3"; entity3.desc = @"IT 工程师3"; [self.mDataArray insertObject:entity3 atIndex:0]; }else{ } [self.tableView reloadData]; [self.tableView.mj_header endRefreshing]; if( [_mDataArray count] % defualtPageSize == 0){ [self.tableView.mj_footer endRefreshing]; }else{ [self.tableView.mj_footer resetNoMoreData] ; } } - (void) onRresh{ currentPage = 0; [self onRequest:currentPage]; } -(void) onLoadMore{ currentPage += 1; [self onRequest:currentPage]; } #pragma mark - uitableview method #pragma mark 返回有多少个Sections - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } #pragma mark 对应的section有多少个元素,也就是多少行 - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section{ return [self.mDataArray count]; } #pragma mark 指定的 row 的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 100.f; } #pragma mark 每行cell内容 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //NSDictionary *item = [self.mDataArray objectAtIndex:indexPath.row]; OfferEntity *entity = self.mDataArray[indexPath.row]; NSLog(@"=================%@",entity ); static NSString * cellIdentifier = @"tableView"; TableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (cell == nil){ NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TableViewCell" owner:self options:nil]; cell = (TableViewCell *)[nib objectAtIndex:0]; } [cell.iconImageView sd_setImageWithURL:[NSURL URLWithString: entity.iconurl ] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; cell.name.text = entity.name; cell.desctription.text = entity.desc; cell.onClick = ^(void){ NSLog(@"================="); NSLog(@"%ld",indexPath.row); }; return cell; } #pragma mark 点击行,可以做跳转 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { } @end
// // TableViewCell.h // IteyeBlog // // Created by youbao on 16/10/15. // Copyright © 2016年 youbao. All rights reserved. // #import <UIKit/UIKit.h> typedef void( ^ onClick)(); @interface TableViewCell : UITableViewCell @property (weak, nonatomic) IBOutlet UIImageView * iconImageView; @property (weak, nonatomic) IBOutlet UILabel *name; @property (weak, nonatomic) IBOutlet UILabel *desctription; @property (nonatomic, copy) onClick onClick; //@property (nonatomic, copy) void ( ^ onClick) (void); @end
// // TableViewCell.m // IteyeBlog // // Created by youbao on 16/10/15. // Copyright © 2016年 youbao. All rights reserved. // #import "TableViewCell.h" @interface TableViewCell () @end @implementation TableViewCell - (void)awakeFromNib { [super awakeFromNib]; // Initialization code UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onImageClick:)]; [self.iconImageView addGestureRecognizer:singleTap]; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (IBAction)onImageClick:(UIButton *)sender{ if(self.onClick) self.onClick(); } @end
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!