详解ios中自定义cell,自定义UITableViewCell
发布时间 - 2026-01-10 21:57:42 点击率:次通过继承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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
零基础网站服务器架设实战:轻量应用与域名解析配置指南
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
使用豆包 AI 辅助进行简单网页 HTML 结构设计
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
使用Dockerfile构建java web环境
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何挑选高效建站主机与优质域名?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
长沙做网站要多少钱,长沙国安网络怎么样?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel Fortify是什么,和Jetstream有什么关系
php打包exe后无法访问网络共享_共享权限设置方法【教程】
如何在景安服务器上快速搭建个人网站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何在阿里云虚拟主机上快速搭建个人网站?
使用spring连接及操作mongodb3.0实例
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何在阿里云通过域名搭建网站?
Python文件异常处理策略_健壮性说明【指导】
活动邀请函制作网站有哪些,活动邀请函文案?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Java解压缩zip - 解压缩多个文件或文件夹实例
如何快速重置建站主机并恢复默认配置?
Laravel如何使用Livewire构建动态组件?(入门代码)
Laravel如何与Inertia.js和Vue/React构建现代单页应用
大同网页,大同瑞慈医院官网?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
JavaScript数据类型有哪些_如何准确判断一个变量的类型
高防服务器租用首荐平台,企业级优惠套餐快速部署
linux写shell需要注意的问题(必看)
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
免费网站制作appp,免费制作app哪个平台好?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何快速搭建虚拟主机网站?新手必看指南
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何在搬瓦工VPS快速搭建网站?
JS经典正则表达式笔试题汇总
如何将凡科建站内容保存为本地文件?

