UITableViewController使用

2023-05-16

列表视图控制器,用起来很方便,不仅可以实现分组列表,连tem都有很多定义好的样式,使用时基本上不需要有大的自定义的部分,这里做一些简单的尝试

1.新建MyTableViewController的.h/.m文件
几个主要方法:

//注释:分组
//这里是说列表的section的个数,section就是分组;根据需要将列表分为几组;这里就1组,只会显示一个列表
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Incomplete implementation, return the number of sections
    return 1;
}

//注释:每组的行数
//会用特殊的不同分组的行数不同,就在这里判断了;这里固定15行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete implementation, return the number of rows
    return 15;
}

//注释:添加每行布局
//这里处理每行要显示什么;通常布局是相同的,特殊情况会有不同行数的布局不同,主要在这里处理
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    //根据cell定义的id,重复使用cell的布局
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myTableViewCell" forIndexPath:indexPath];
    // textview显示
    cell.textLabel.text = [NSString stringWithFormat:@"%@ %ld",@"cell",(long)indexPath.row];

    return cell;
}

效果:
这里写图片描述

记住:
主要操作方法:section个数,row个数,row布局实现

2.把section个数改为2,row为3,试试,这里要设置section的头和脚的高度

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 10;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 10;
}

可以看到分组效果:
这里写图片描述

3.dequeueReusableCellWithIdentifier
TableVIew的实现原理是没有显示在屏幕上的item会被回收,当滚动时会使用旧的,所以要更新item的内容;在每个cellForRowAtIndexPath里使用dequeueReusableCellWithIdentifier

4.Cell的辅助类型:accessoryType,accessoryView

//1.右侧添加叹号的圆心按钮,可点击,即查看详情
cell.accessoryType = UITableViewCellAccessoryDetailButton;

效果:
这里写图片描述

//2.右侧添加箭头引导,点击图片无效果
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

效果:
这里写图片描述

//3.右侧圆心按钮+箭头,可点击
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

效果
这里写图片描述

//4.右侧添加对号,点击图片无效果
cell.accessoryType = UITableViewCellAccessoryCheckmark;

效果:
这里写图片描述

//自定义视图
UIImageView *iv = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"ic_download"]];
cell.accessoryView =iv;

效果:
这里写图片描述

5.设置每组标题,尾部说明,右侧索引

#pragma mark 返回每组头标题名称
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

    NSString *str = [NSString stringWithFormat:@"section %ld",(long)section];
    return str;
}

#pragma mark 返回每组尾部说明
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
    NSString *str = [NSString stringWithFormat:@"end %ld",(long)section];
    return str;
}

#pragma mark 返回每组标题索引
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
    int num = tableView.numberOfSections;
    NSMutableArray *indexs = [[NSMutableArray alloc] init];
    for (int i=0; i<num; i++) {
        NSString *str = [NSString stringWithFormat:@"%d",i];
        [indexs addObject:str];
    }
    return indexs;
}

效果:
这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITableViewController使用 的相关文章

  • USB2.0 UTMI+接口

    1 UTMI The UTMI standard contains progressive levels of technology support because the complexity requirements for devic
  • cadence usb linux配置

    1 kernel config 2 dts
  • USB3.0 host xHCI驱动

    xHCI驱动在usb host中 主要初始化xHCI xHCI作为usb nbsp host部分的驱动 1 nbsp xhci driver与device的匹配 usb host xhci plat c static struct plat
  • windows PCIe 工具: TeleScan

    TeleScan PE for Windows 用户可以通过TeleScan PE来扫描系统中的PCI PCIe设备 xff0c 并提供了读写其配置空间中的寄存器的功能 download Teledyne LeCroy PCI Expres
  • intel 82574 1000M pcie 网卡 kernel driver

    0 kernel config Device Drivers gt Network device support gt Ethernet driver support gt Intel devices lt gt Intel R PRO 1
  • Windows NFS server:Winnfsd

    1 Winnfsd GitHub winnfsd winnfsd Usage WinNFSd exe id lt uid gt lt gid gt log on off pathFile lt file gt addr lt ip gt e
  • windows dhcp server

    1 tool Open DHCP Server Open Source Freeware Windows Linux MultiSubnet MultiDomain DHCP Server supports every Industry S
  • uboot环境变量保存到EMMC

    1 cmd 命令行可以用setenv printenv saveenv uboot u boot 2020 04 cmd nvedit c setenv gt do env set gt do env set gt hsearch r en
  • 安装VScode配置c/c++环境出现问题提示#include errors detected. Please update your includePath......解决办法

    文章目录 1 vscode下载安装以及c c 43 43 插件安装 2 MinGW安装3 配置环境变量4 配置几个json文件 1 vscode下载安装以及c c 43 43 插件安装 VScode下载地址 2 MinGW安装 官网下载地址
  • linux支持ipv6

    1 kernel config Networking support gt Networking options gt lt gt The IPv6 protocol gt 2 test 2 1 proc net if inet6 查看 p
  • 以太网 网线分类

    1 双绞线分类 一类线 xff1a 主要用于传输语音 xff08 一类标准主要用于八十年代初之前的电话线缆 xff09 xff0c 不同于数据传输 二类线 xff1a 传输频率为1MHZ xff0c 用于语音传输和最高传输速率4Mbps的数
  • linux pcie RC 框架

    1 linux pcie rc framework Following is a brief explanation of layers shown in the diagram There are different drivers fo
  • you-get下载bilibili视频

    you get是一个命令行工具 xff0c 可以从网络上下载视频 音频 图片等资源 https codechina csdn net mirrors soimort you get utm source 61 csdn github acc
  • gpg: 无法检查签名:没有公钥

    repo error 34 git 34 failed with exit status 1 cmd 39 git 39 39 tag 39 39 v 39 39 v1 12 16 39 stdout gt gt object 666d53
  • ARM指令中怎么判断合法立即数的方法(转载)

    在ARM汇编的数据处理指令中经常会使用到常数 xff0c 而ARM汇编中规定使用的常数必 须是立即数 ARM立即数的是由一个8位的常数循环右移偶数位得到的 xff0c 其中循环右移 的位数由一个4位2进制的两倍表示 xff0c 公式如下 i

随机推荐

  • 选择排序算法

    概要 本章介绍排序算法中的选择排序 目录 1 选择排序介绍 2 选择排序图文说明 3 选择排序的时间复杂度和稳定性 4 选择排序实现 4 1 选择排序C实现 4 2 选择排序C 43 43 实现 4 3 选择排序Java实现 转载请注明出处
  • 字符编码详解

    相信很多程序员在面对 字符编码 这个问题时 xff0c 都曾困扰过 xff0c 甚至头疼不已 接着之前两篇博客 xff08 二进制文件和文本文件 文本文件换行符 xff09 xff0c 本文将对 字符编码 做一个全面而细致的剖析 xff0c
  • CentOS + Mongodb 搭建NodeBB [转载翻译]

    原文 xff1a https www kancloud cn a632079 nodebb cn 372108 服务器选用 64 位 CentOS xff0c MongoDB 现在只有64位版本 CentOS amp MongoDB 一 准
  • 国家气象局提供的天气预报接口(完整Json接口)

    国家气象局提供的天气预报接口主要有三个 xff0c 分别是 xff1a http www weather com cn data sk 101010100 html http www weather com cn data cityinfo
  • 数据结构题集(c语言版)严蔚敏答案pdf

    前言 xff1a 最近在学习数据结构 xff0c 在做习题的时候找答案费了一番力气 xff0c 好不容易找到了 xff0c 分享出来 xff0c 希望想学的人找得没那么累 图书目录 xff1a 第一篇 习题与学习指导 第0章 本篇提要与作业
  • ios swift uitextview如何应对键盘的遮挡

    参考http stackoverflow com questions 36405752 keyboard to move the view only if the textfield is hidden 1 继承 UITextViewDel
  • Android设备唯一标识符ID

    一 获取各种单一的设备标识方式 1 DEVICE ID 概念 xff1a 是区别移动设备的标志 xff0c 储存在移动设备中 xff0c 可用于监控被窃或无效的移动设备 优点 xff1a 根据不同的手机设备返回IMEI xff0c MEID
  • 关于Uview ui框架的使用

    uview源码 api 按照使用场景自定义修改 如果想要使用 uview的 Upload 组件的 手动上传功能 xff0c 突然发现最近的1 x版本不能用了 xff0c 所以 我想手动diy一下 Upload 部分的源码 xff0c 本人使
  • 关于node-sass装不上,项目运行不了把我搞崩溃一记

    由于之前手贱 xff0c 用电脑管家的软件管理 更新了一下nodejs的最新稳定版本 xff0c 好家伙 xff0c 最近一直在开发uniapp xff0c 因为是hbuild自带node sass的插件版本 xff0c 所以一直也没有影响
  • OpenGL---VS2010环境搭建

    参看 xff1a http www cppblog com doing5552 archive 2009 01 08 71532 html 1 安装GLUT工具包 http www opengl org resources librarie
  • C++两个类互相引用的解决方法

    问题描述 xff1a c 43 43 在使用过程中遇到两个类需要相互包含引用的问题 解决办法 xff1a 两个类的头文件之中 xff0c 选一个包含另一个类的头文件 xff0c 另一个头文件中采用class xff1b 的申明形式 xff0
  • VTK 3D图像显示

    目的 根据不同需求 xff0c 医学3D图像的显示方式有多种 xff0c 本篇先简单罗列3D图像的几种显示模式 xff0c 后续再进行详细补充 1 剂量模体和二维数据 体模原图 xff08 网络截图 xff09 xff1a 体模二维X射线影
  • 原版win7全新安装后无法通过windows update安装更新的解决办法.2023-03-07

    首先要确保网络畅通 系统时间设置正确 系统没有被病毒流氓程序等破坏 是一个正常完整的初始安装的系统 方法一 1 安装 Windows 更新客户端 kb3138612 kb3138612 Microsoft Update Catalog 2
  • xmind 8 pro Mac破解版(思维导图) 附xmind 8 序列号

    链接 https pan baidu com s 1tTKYuqCjGo WC2ns6tN54w 密码 1b1w 转载地址 小伙伴们XMind 8 pro Mac破解版 思维导图 最新版本v3 7 8中文破解版上线了 xff0c 本次的XM
  • 操作系统系列笔记(五) - 同步互斥, 信号量和管程

    同步互斥 背景 并发进程在多个进程间有资源共享 导致执行过程是不确定性和不可重现的 程序错误可能是间歇性发生 原子操作 是指一次不存在任何中断或失败的操作 操作系统需要利用同步机制 在并发执行的同时保证一些操作是原子操作 几个状态 互斥 一
  • compilation terminated. The terminal process terminated with exit code: 1头文件包含错误解决办法

    错误描述 xff1a d coding clanguage datastruct chapterone mian1 cpp 1 46 fatal error c1 h No such file or directory include 34
  • 实践支持HTTPS SSL的七牛云存储CDN

    最近 xff0c 听说七牛云存储CDN这货支持HTTPS SSL Godaddy SSL证书 xff0c 试用了一下 xff0c 简直发现了新大陆 刚开始设置好以后 xff0c 发现HTTPS下的网页并没有采用七牛的服务 xff0c 只是H
  • 超详细,多图,PVE安装以及简单设置教程(个人记录)

    前言 写这个的目的是因为本人健忘所以做个记录以便日后再折腾时查阅 本人笔拙如有选词 xff0c 错字 xff0c 语法 xff0c 标点错误请忽视 xff0c 大概率知道了也不会修改 xff0c 本人能看懂就好 内容仅适用于本人的使用环境
  • Visual Studio 编译时moc 某些头文件找不到,编译不过,解决办法

    Visual Studio 编译时moc 某些头文件找不到 xff0c 编译不过 xff0c 解决办法 主要是不同的VS版本提交时存在的差异造成的 需要把编译时moc不过的头文件先移除掉 xff0c 然后再添加回来 xff0c 再编译就能编
  • UITableViewController使用

    列表视图控制器 xff0c 用起来很方便 xff0c 不仅可以实现分组列表 xff0c 连tem都有很多定义好的样式 xff0c 使用时基本上不需要有大的自定义的部分 xff0c 这里做一些简单的尝试 1 新建MyTableViewCont