关于table view,分为两种方式,一种是UITableViewStylePlain,另一种是UITableViewStyleGrouped。两种模式都把行row分为若干个节section。每个section都有一个头部和足部,并且整个table view也有一个头部和足部,不同的是,我们只能设置section的头部和足部的字符串,而整个table view的头部和足部是两个view。这些头部和足部都是可选的,下面是图片说明:
上面是演示如何通过xib方式设置两种方式,在右面的红框中是设置grouped 或者 plain。左面是table view设置成grouped的方式的示意图,这里上面的红框是section的头部的字符串,可以看出,这个字符串是靠左,下面的红框是足部,是局中。
这个是grouped的方式下没有设置任何头部和足部,生成的效果。
这个是设置成plain的方式,但是包含section的头部和足部。
这个是plain方式,不包含头部和足部
plain方式,只包含头部,注意这是本文需要分析的例子工程运行的效果图,注意在table view上下滚动的时候的section的头部的变化。这里不再描述,你需要自己运行一下看看。
这里是一个grouped方式,上面的红框是整个table view的头部,中间的是section的头部,最下的两个button是在整个table view的足部。
在我们当前的例子中,我们可以学到两个部分的内容,一个就是关于时区的使用,另一个是table view,为了focus在我们这个文章的重点,我这里只分析table view部分
这个例子中关于table view的部分和上一个例子基本相同,不同的是,上一个例子中tableview只有一个section,这里是有多个section。而且增加了一个函数。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
// The header for the section is the region name -- get this from the region at the section index.
Region *region = [regionsobjectAtIndex:section];
return [regionname];
}
这个函数就是返回每一节的头部的文本。
如果你有兴趣,可以增加一个函数如下,运行一下看看效果
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
Region *region = [regions
objectAtIndex:section];
return [regionname];
}
最后说明的一个是在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath
*)indexPath
的参数indexPath,是一个NSIndexPath类型。你可以通过indexPath得到section和row,分别为indexPath.row和indexPath.section.
分享到:
相关推荐
ios-cmake-master用来交叉编译的,很好用
Microsoft_Third-Party-Notices_Microsoft-Edge-for-iOS_2021-08-03.docx
iOS_iPadOS_16_Beta_Profile.mobileconfig
资源来自pypi官网。 资源全名:py_ios_device-2.1.5.tar.gz
一步一步学习iOS5编程-项目源代码
Cisco 思科 1921 路由器 IOS c1900-universalk9-mz.SPA.158-3.M4.rar 官网下载
【逗老师带你学IT】vMware ESXi 6.7合并第三方硬件驱动 https://blog.csdn.net/ytlzq0228/article/details/105194719
vuforia-sdk-ios-6-5-25.zip vuforia sdk for iOS Use the Vuforia SDK to build Android, iOS, and UWP(win10+) applications for mobile devices and digital eyewear. Apps can be built with Android Studio, ...
python库。 资源全名:jodel_ios_api-1.0.2-py2-none-any.whl
CentOS-7-x86_64-DVD-1611.iso镜像,可以在虚拟机上安装CentOS-7系统,学习linux,计算机专业学习必备
迅雷高速下载通道 CentOS-6.1-x86_64-bin-DVD1.iso...CentOS-7-x86_64-bin-DVD2.iso CentOS-8.2-x86_64-bin-DVD1.iso 除DVD版还有各个minimal等版本提供高速下载 下载地址,提供了迅雷的高速下载通道,实测速度为31M/S,
iOS 11 by tutorials 源码(第9至15章) http://download.csdn.net/user/xrick
一步一步学习 iOS 5编程-SimpleTable 项目,源代码实现到第九部分。
Xamarin.iOS_Setup-1.10.39
网易airtest for mac必备agent, iOS-Tagent 其实就是 WebDriverAgent 仔细看,会发现iOS-Tagent会比WebDriverAgent简略得多。 iOS-Tagent其实就是WDA的优化版本。 git clone ...
iOS---UIKit Dynamics源代码,
linux虚拟机镜像文件
CISO iOS 3850 cat3k_caa-universalk9.SPA.03.06.06.E.152-2.E6.bin
IOS代码示例-登录+界面切换+界面间传参,代码简洁,亲测可用。IOS代码示例-登录+界面切换+界面间传参,代码简洁,亲测可用。IOS代码示例-登录+界面切换+界面间传参,代码简洁,亲测可用。IOS代码示例-登录+界面切换+...