做公众号推文的网站软文云
news/
2025/9/23 2:21:22/
文章来源:
做公众号推文的网站,软文云,网站设计建设流程,请给自己的网站首页布局列表显示#xff0c;顾名思义它是在一个列表视图的形式显示在屏幕上的数据的内容。于ios在列表视图UITableView达到。这个类在实际应用中频繁#xff0c;是很easy理解。这里将UITableView的主要使用方法总结一下以备查。UITableView定义在头文件UITableView.h中#xff0c;详… 列表显示顾名思义它是在一个列表视图的形式显示在屏幕上的数据的内容。于ios在列表视图UITableView达到。这个类在实际应用中频繁是很easy理解。这里将UITableView的主要使用方法总结一下以备查。 UITableView定义在头文件UITableView.h中详细的定义能够查看官方文档从定义中能够看出UITableView继承自UIScrollView类因此在支持方便地显示列表数据的同一时候还天生支持垂直滚动操作。组成列表的每个元素称为UITableViewCell实例。一个UITableViewCell也是应用很广泛的类定义可见官方文档。在详细的使用过程中能够创建一个独立的UITableView也能够直接创建一个UITableViewController。这里主要记录创建UITableView的方法下篇记录通过列表视图控制器使用UITableView。 UITableView类中定义了style属性 property(nonatomic, readonly) UITableViewStyle style每个UITableView都能够选择两种style之中的一个。即分组模式和平面模式。这两种模式定义在枚举变量UITableViewStyle中 typedef enum {UITableViewStylePlain,UITableViewStyleGrouped
} UITableViewStyle; 每个列表视图的组成都是相似的都是由一个表头视图表体表尾视图构成。当中表头和表尾两个视图默觉得nil。须要时能够创建自己定义视图加入到表头和表尾。定义例如以下 property(nonatomic, retain) UIView *tableHeaderView;
property(nonatomic, retain) UIView *tableFooterView;除表头和表尾之外表体则由一串UITableViewCell以下简称cell构成。假设是分组表视图。则多个UITableViewCell构成一个section每一个section也有头和尾视图。 以下简单新建一个demo展示一下怎样创建一个UITableView。这里假定大家都了解xcode的基本操作所以就不再一步一步地截图了简单叙述就可以。不懂得能够去百度一下“xcode新建project”。 新建一个single view application。在新生成的ViewController.m文件里重写loadView方法新建一个UITableView视图。别忘了把alloc的视图在dealloc函数中释放。 - (void)loadView
{CGFloat width [UIScreen mainScreen].bounds.size.width;CGFloat height [UIScreen mainScreen].bounds.size.height;UIView *backgroundView [[UIView alloc] initWithFrame:CGRectMake(0, 0, width,height)];self.view backgroundView;_tableView [[UITableView alloc] initWithFrame:CGRectMake(0, 0, width, height) style:UITableViewStylePlain];[self.view addSubview:_tableView];[_tableView release];
} 编译执行。显演示样例如以下图 表视图的协议方法——这是很重要的部分由于我们创建一个表视图目的就是让视图能够显示数据否则一个空空的表视图与废物无二。表视图所定义的协议方法由代理方法delegate和数据源方法data source方法组成。托付方法一般用于实现个性化处理表视图的基本样式如单元格的高度等以及捕捉单元格选中的响应。数据源方法用于完毕表中的数据。如指定单元格数。以及创建每个单元格。 要实现代理和数据源方法。首先须要让当前视图控制器支持UITableViewDelegate和UITableViewDataSource协议。做例如以下改动 interface ViewController UIViewControllerUITableViewDelegate,UITableViewDataSource而且在tableView创建完毕后将tableView的delegate和dataSource设置为self即托付给当前视图控制器来控制表视图的数据显示和响应。 _tableView.delegate self;
_tableView.dataSource self; delegate和data source协议有两个方法是必须实现的 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;这两个方法分别用于生成每个cell。以及指定当前section共同拥有多少行。实现这两个方法是想要在表视图中显示数据必须实现的最低要求。 我们在视图控制器头文件里声明一个NSArray *modelretain属性并在viewDidLoad中将[UIFont familyNames]赋给这个属性。 在视图控制器中实现这两个代理方法 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{return [_model count];
}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{static NSString *identify TableViewCell;UITableViewCell *cell [tableView dequeueReusableCellWithIdentifier:identify];if (nil cell){cell [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];cell.textLabel.text self.model[indexPath.row];}return cell;
}在cellForRowAtIndexPath方法中首先会检查是否有闲置的单元格假设没有闲置的单元格。则会新建一个cell并将其返回。參数indexPath表示眼下正在创建的单元格位于整个表视图的第几行。 编译。执行显示结果 假设希望实现对选中某个单元格的响应仅仅须要实现以下代理方法就可以。在代理方法中能够实现创建新的视图控制器并控制其载入到屏幕上。 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 版权声明本文博主原创文章博客未经同意不得转载。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911103.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!