通过继承UITableViewCell来自定义cell

1、创建一个空的项目、命名:
2、创建一个UITableViewController 并且同时创建xib:
3、设置AppDelegate.m中window的根控制器为刚刚创建的TableViewController:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
TableViewController *tableViewController = [[[TableViewController alloc] init] autorelease]; //自动释放
//设置根控制器
self.window.rootViewController = tableViewController;
[self.window makeKeyAndVisible];
return YES;
}
4、创建自定义的UITableViewCell:
5、创建自定义cell的xib 拖放需要的控件
选择User Interface。
创建空的xib。
拖入Cell控件。
完成自定义的cell控件。
设置cell控件的Identfier。
绑定Cell类并且将控件的输出口关联到TableViewCell.h文件中。
6、对TableViewController类编码,在委托方法中设置自定义的Cell:
#import "TableViewController.h"
#import "TableViewCell.h"
@interface TableViewController (){
NSMutableArray *tableData; //表格数据
}
@end
@implementation TableViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//初始化表格数据
tableData = [[NSMutableArray alloc] init];
for (int i = 0; i< 10; i++) {
[tableData addObject:[NSString stringWithFormat:@"MyCellDemon%i",i]];
}
//设置row的高度为自定义cell的高度
self.tableView.rowHeight = 90;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
#warning Potentially incomplete method implementation.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete method implementation.
return [tableData count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//指定cellIdentifier为自定义的cell
static NSString *CellIdentifier = @"TableViewCell";
//自定义cell类
TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
//通过xib的名称加载自定义的cell
cell = [[[NSBundle mainBundle] loadNibNamed:@"TableViewCell" owner:self options:nil] lastObject];
}
//添加测试数据
cell.titleLabel.text = [tableData objectAtIndex:indexPath.row];
cell.content.text = @"这是一些测试数据";
//测试图片
cell.iamge.image = [UIImage imageNamed:@"testImage.jpg"];
return cell;
}
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
@end
最终效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ios
# uitableview
# cell
# uitableviewcell
# 自定义cell
# iOS优化UITableViewCell高度计算的一些事儿
# 详解IOS UITableViewCell 的 imageView大小更改
# IOS UITableViewCell详解及按钮点击事件处理实例
# IOS UITableView和UITableViewCell的几种样式详细介绍
# ios开发UITableViewCell图片加载优化详解
# 自定义
# 创建一个
# 这是
# 测试数据
# 绑定
# 大家多多
# 拖放
# 拖入
# 加载
# TableViewCell
# Identfier
相关文章:
Bpmn 2.0的XML文件怎么画流程图
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何获取开源自助建站系统免费下载链接?
宿州网站制作公司兴策,安徽省低保查询网站?
如何挑选优质建站一级代理提升网站排名?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何在阿里云完成域名注册与建站?
*服务器网站为何频现安全漏洞?
如何批量查询域名的建站时间记录?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何用西部建站助手快速创建专业网站?
详解jQuery停止动画——stop()方法的使用
如何快速查询网址的建站时间与历史轨迹?
建站之星后台管理:高效配置与模板优化提升用户体验
建站之星后台密码遗忘或太弱?如何重置与强化?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
江苏网站制作公司有哪些,江苏书法考级官方网站?
广东企业建站网站优化与SEO营销核心策略指南
建站之星微信建站一键生成小程序+多端营销系统
如何基于云服务器快速搭建网站及云盘系统?
建站之星下载版如何获取与安装?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
如何在Golang中指定模块版本_使用go.mod控制版本号
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何高效完成自助建站业务培训?
中山网站推广排名,中山信息港登录入口?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
简单实现Android验证码
油猴 教程,油猴搜脚本为什么会网页无法显示?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
已有域名能否直接搭建网站?
小程序网站制作需要准备什么资料,如何制作小程序?
如何通过FTP服务器快速搭建网站?
个人网站制作流程图片大全,个人网站如何注销?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
建站之星logo尺寸如何设置最合适?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
C++如何使用std::optional?(处理可选值)
如何用已有域名快速搭建网站?
制作网站的模板软件,网站怎么建设?
建站之星安装模板失败:服务器环境不兼容?
建站之星如何实现PC+手机+微信网站五合一建站?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Android自定义控件实现温度旋转按钮效果
湖北网站制作公司有哪些,湖北清能集团官网?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
独立制作一个网站多少钱,建立网站需要花多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。