热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

ios基于UITableViewController实现列表

这篇文章主要介绍了ios基于UITableViewController实现列表的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

实现效果图如下:

News.h

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

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  
 
@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  
 
@interface NewsTableViewController : UITableViewController 
@property (nonatomic, strong) NSArray *news; 
@end 

NewsTableViewController.m

#import "NewsTableViewController.h" 
#import "News.h" 
#import "NewsCell.h" 
 
@interface NewsTableViewController () 
 
@end 
 
@implementation NewsTableViewController 
static 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 *)tableView 
heightForRowAtIndexPath:(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 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 使用Java调用exe可执行文件
    一、出发点平日里,我们看到了很多已经成型的可执行文件,而且经过了一定的封装。因为开源的关系,大多时候可以自己使用eclipse进行编译&# ... [详细]
  • eclipse 添加svn插件
    2019独角兽企业重金招聘Python工程师标准点击help--》installnewsoftware--》点击add然后会弹出一个窗口在窗口里面name自己随便填一个Loc ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 本文介绍了在Java开发中创建子包(package)的正确步骤,并解析了可能出现的错误情况。其中包括第一种错误情况的解决方法,以及在空包下只建一个包时可能出现的问题及解决方法。通过多建几个包,可以让IDE自动将父包提取出来,形成正确的层次结构。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 使用J2SE模拟MVC模式开发桌面应用程序的工程包的介绍
    以我开发过的一个娱乐管理系统为例:下图为我系统的业务逻辑的MVC流程:下图为以Eclipse开发中各包的说明:转载于:https:blog ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 模块化区块链生态系统的优势概述及其应用案例
    本文介绍了相较于单体区块链,模块化区块链生态系统的优势,并以Celestia、Dymension和Fuel等模块化区块链项目为例,探讨了它们解决可扩展性和部署问题的方案。模块化区块链架构提高了区块链的可扩展性和吞吐量,并提供了跨链互操作性和主权可扩展性。开发人员可以根据需要选择执行环境,并获得奖学金支持。该文对模块化区块链的应用案例进行了介绍,展示了其在区块链领域的潜力和前景。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
author-avatar
林台育怡婷雅雯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有