UIday09

1.UITableViewCell 高级

1.1 是什么

是视图,是UIView的子类。

1.2 组成

两大视图:

+contentView : UIView

+textLabel : UILabel

+detailLabel : UILabel

+imageView : UIImageView

+accessoryView : UIView

1.2 accessoryView

辅助视图,协助Cell实现一些界面效果,但默认是nil(没有辅助视图),当进入编辑模式下,辅助视图会默认隐藏。

1.3 如何使用

(1)是UIView属性,可以指向任何类型的视图

(2)系统提供4种已经定义好的辅助视图

accessoryType来指定:

DisclosureIndicator ">"

提示用户点击此Cell有更详细的内容

DetailDisclosureButton "i"+">" 

提示用户点击此按钮i也会有更详细的内容

Checkmark "√"

一个"√",相当于打了个标记

DetailButton "i"

仅仅提示用户点击此按钮,会显示内容

注:如果点击了辅助视图的按钮,会触发方法

tableView:accessoryButtonTappedForRowWithIndexPath

(3)除了使用系统定义好的辅助视图,还可以自定义辅助视图。

cell.accessoryView = view(任意视图)

(4)也可以自定义ContentView,定义的内容是ContentView的子视图

 [cell.contentView addSubview:view];(任意视图)

注:如果自定义的是辅助视图,x,y坐标无效。

  如果自定义的是内容视图,x,y坐标有效。

  如果内容视图有值,自定义视图会将原来的内容视图挡住。

1.4 自定义分区头、分区尾信息

(1)可以设置文字

tableView:titleForHeaderInSection

tableView:titleForFooterInSection

(2)可以设置视图

viewForHeaderInSection

viewForFooterInSection

(3)在导航栏中也有相关属性 可以通过view赋值

self.navigationItem.titleView

1.5 完全自定义Cell

有两种创建方式,一个code方式,一个是***xib方式。

(1)基本原理

UITableViewCell类是TableView的标准Cell类,自定义Cell就是自己写Cell类,然后在三问中最一个,“每一行的Cell”中回答,创建自定义的Cell。

(2)如何实现

借助xib文件的功能,创建自定义Cell的界面,然后和自定义的Cell类进行绑定即可。

(3)详细的实现步骤:

<1>创建一个Cell的类和xib文件

<2>向xib中添加相应的视图

<3>将xib中的视图与类的属性建立关联

<4>在tableView中的三问,最后一问中使用自定义Cell对象。

a.注册的方式 创建自定义的Cell

UINib *xib = [UINib nibWithNibName:@"TRTableViewCell" bundle:nil];

    [self.tableView registerNib:xib forCellReuseIdentifier:Identifier];

b.在队伍当中取出自定义的Cell对象并使用

TRTableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:Identifier];

c.一定要设置自定义Cell的高度

heightForRowAtIndexPath

<5>配置Cell对象中显示的内容

1.6 TableView的使用 

(1)静态(Static)的TableView

<1>是什么

程序员直接写死TableView中有多少分区、多少行、以及每行的内容是什么。

<2>如何使用静态的TableView

硬代码的方法回答所有问题。

if(区、行){ 就怎么样 }

else if(区、行){ 就怎么样 }

else { 就怎么样 } 或使用switch

<3>应用广泛

各种设置界面(不会)

展示一个对象的信息(会变),静态的TableView并不意味着Cell中的内容不会改变。

使用code与xib创建静态的TableView

注:Demo 显示内容使用静态TableView

Demo 显示的样式静态TableView但数据是动态

Demo 使用xib的Cell实现表态的TableView

操作步骤:

1.拖拽一个Cell视图到tableView所在的xib文件中。

2.将该Cell连线到相应的TableViewController中的属性。 3.在TableView的第三问中,直接回返回Cell对象属性。

注:如果需要设置Cell中的属性,参照自定义Cell。

(2)动态(Dynamic)的TableView

<1>是什么

TableView中有多少区、多少行、每行的内容是什么,都有数据模型层来决定,而不是写死的。

<2>灵活使用TableView

a.两个TableView使用相同的数据源

b.两个TableView使用不同的数据源

c.两个TableView使用不同的委托对象

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
美食信息推荐系统对菜谱管理、字典管理、论坛管理、论坛收藏管理、饮食资讯管理、用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行美食信息推荐系统程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。美食信息推荐系统的开发让用户查看菜谱管理信息变得容易,让管理员高效管理菜谱管理信息。 美食信息推荐系统具有管理员角色,用户角色,这几个操作权限。 美食信息推荐系统针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理菜谱管理信息,管理公告信息等内容。 美食信息推荐系统针对用户设置的功能有:查看并修改个人信息,查看菜谱管理信息,查看公告信息等内容。 项目管理页面提供的功能操作有:查看菜谱管理,删除菜谱管理操作,新增菜谱管理操作,修改菜谱管理操作。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值