ios基于UITableViewController实现列表

来源:互联网 发布:软件测试计划的目的 编辑:程序博客网 时间:2024/06/10 09:15

实现效果图如下:

News.h

#import <Foundation/Foundation.h>@interface News : NSObject@property (nonatomic, strong) NSString *title;@property (nonatomic) NSUInteger count;@property (nonatomic, strong) NSString *imageName;+ (NSArray *)demoData;@end<strong></strong>

News.m

#import "News.h"@implementation News+ (NSArray *)demoData{    News *n1 = [[News alloc]init];    n1.title = @"四川青川县今晨发生4.8地震";    n1.count = 2175;    n1.imageName = @"hqg";        News *n2 = [[News alloc]init];    n2.title = @"3名夺刀少年遭多所高校\"哄抢\"";    n2.count = 987;    n2.imageName = @"hqg";        News *n3 = [[News alloc]init];    n3.title = @"代码显示Eclipse将可分屏多任务";    n3.count = 3278;    n3.imageName = @"hqg";        News *n4 = [[News alloc]init];    n4.title = @"JAVA语言估计下月进入TIOBE前20名";    n4.count = 1462;    n4.imageName = @"hqg";    return @[n1, n2, n3, n4];}@end

NewsCell.h

#import <UIKit/UIKit.h>@interface NewsCell : UITableViewCell@property (weak, nonatomic) IBOutlet UIImageView *newsImageView;@property (weak, nonatomic) IBOutlet UILabel *titleLabel;@property (weak, nonatomic) IBOutlet UILabel *countLabel;@end

NewsCell.m

#import "NewsCell.h"@implementation NewsCell- (void)awakeFromNib {    // Initialization code}- (void)setSelected:(BOOL)selected animated:(BOOL)animated {    [super setSelected:selected animated:animated];    // Configure the view for the selected state}@end

NewsCell.xib


NewsTableViewController.h

#import <UIKit/UIKit.h>@interface NewsTableViewController : UITableViewController@property (nonatomic, strong) NSArray *news;@end

NewsTableViewController.m

#import "NewsTableViewController.h"#import "News.h"#import "NewsCell.h"@interface NewsTableViewController ()@end@implementation NewsTableViewControllerstatic NSString *cellIdentifier = @"MyNewsCell";- (void)viewDidLoad {    [super viewDidLoad];    self.news = [News demoData];    self.title = @"腾讯新闻";    UINib *nib = [UINib nibWithNibName:@"NewsCell" bundle:nil];    [self.tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}#pragma mark - Table view data source- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {    return 1;}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {    return self.news.count;}-(CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath *)indexPath{    return 86;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {        News *news = self.news[indexPath.row];    NewsCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];    cell.titleLabel.text = news.title;    cell.countLabel.text = [NSString stringWithFormat:@"%ld", news.count];    cell.newsImageView.image = [UIImage imageNamed:news.imageName];    return cell;}@end


0 0