文档章节

创建UITableViewController的注意点

奋斗的青春年华
 奋斗的青春年华
发布于 2016/06/29 10:13
字数 427
阅读 11
收藏 0

1 代码创建控制器时,设置控制器的组的样式:分组与否;重写初始化方法

- (instancetype)init

{

    return [super initWithStyle:UITableViewStyleGrouped/UITableViewStylePlain];

}

- (instancetype)initWithStyle:(UITableViewStyle)style

{

    return [super initWithStyle:UITableViewStyleGrouped/UITableViewStylePlain];

}

 

2当自定义cell时,由于创建的cell格式和系统提供的格式都不一样,因此处理可以如下,

2.1) 此时代码创建cell时可以采用忽略cell格式的方式创建cell,即先注册单元格,然后在数据源方法中设置cell,具体代码如下2.1.1  2.1.2  2.1.3 ;(MYStatusCell即为自定义的cell)

2.1.1) static NSString *ID = @"MYCell";

2.1.2) - (void)viewDidLoad{

       //注册单元格

      [self.tableView registerClass:[MYStatusCell class] forCellReuseIdentifier:ID];

       }

2.1.3)- (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath{

    //使用此方式,直接自定义cell了,不再关注cell的样式了 

    MYStatusCell *cell = [tableView dequeueReusableCellWithIdentifier:ID forIndexPath:indexPath];

    Status *status = self.statuses[indexPath.row];

    cell.status = status;

    return cell;

}

2.2) 也可以随便设置一个样式,由于重写了initWithStyle:(UITableViewCellStyle)style reuseIdentifier:方法,所以cell的展示样式会随着自定义的格式来布局,具体实现代码如下2.2.1  2.2.2 

2.2.1)在控制器.m文件中:

- (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath{

    static NSString *ID = @"MYCell";

    //使用此方式,直接自定义cell了,不再关注cell的样式了 

    MYStatusCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

    if (cell == nil) {

//注意此处的Style可以为UITableViewCellStyleDefault / UITableViewCellStyleValue1 / UITableViewCellStyleValue2 / UITableViewCellStyleSubtitle中的任一种

        cell = [[MYStatusCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];

    }

    Status *status = self.statuses[indexPath.row];

    cell.status = status;

    return cell;

}

 

2.2.2)在自定义的MYStatusCell .m文件中,实现方法重写:(这个方法是自定义控件的入口处方法

- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(nullable NSString *)reuseIdentifier{

   self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self) {

  [self setUpUI]; //此处是cell中各种自定义控件的布局关系

    }

    return self;

}

 

 

未完待续

 

© 著作权归作者所有

共有 人打赏支持
奋斗的青春年华
粉丝 1
博文 173
码字总数 103979
作品 0
浦东
私信 提问
iOS中的UITableView

UITableView 基本介绍 UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped。这两者操作起来其实并没有本质区别,只是后者按分组样式显示前者按照普通样式显示而已。 在...

Dumplings
2016/05/23
53
0
cell重用时,老是提示找不到标识的cell,让我们注册cell

报错提示: [9098:232849] *** Assertion failure in -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit......

闲云悠鹤蝶恋舞
2016/01/05
334
0
如何 iPad 编程中使用自定义 TableViewCell

UITableViewCell类能够显示出各种各样的风格,但有时候我们需要适应不同的显示模式下的显示。今天的文章中,我们将使用table view去显示一系列自定义的cell。 启动Xcode,选择"Create a new...

junwong
2012/08/26
2.7K
3
CCTableData

CCTableData 是个类,允许用户创建 UITableViewController 模型,然后再把 UITableViewController '绑定' 到模型中。

叶秀兰
2014/03/04
418
0
uncaught exception 'NSInternalInconsistencyException, reason:[UITableViewController loadView] loaded

http://blog.csdn.net/ryantang03/article/details/7941058#reply 上面那篇文章是我查找的ios实现下拉刷新功能,在我下载完代码运行的过程中发现会报下面的这个错误。经过半下午的研究我终于...

刘三火
2016/09/09
8
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
44分钟前
3
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
6
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
6
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
5
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部