自定义UITableView各种函数

转自:http://blog.sina.com.cn/s/blog_7e3132ca0100wyls.html

在XCode对应头文件中修改该类所继承的父类:

在对应的.m文件中添加如下代码:

这样就在view上添加了一个tableView,但其样式是默认的,其中的内容也是空白的,而且此时是无法运行的,因为在头文件中添加了UITableViewDataSource和UITableViewDelegate两个类,所以必须设置一些自定义tableView样式的方法,下面列举了一些相关的方法:

设置Cell高度:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

设置SectionHeader高度:
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

设置SectionFooter高度:
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

设置Section数目:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

设置SectionHeader内容:
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

设置各个Section中的Cell个数:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

设置Cell内容:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

设置Cell行缩进量:
-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath

设置Cell被选中响应前动作(例如:可用以判断选中的Cell,来阻止其响应)
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

设置Cell选中触发响应:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

时间: 2024-11-24 11:27:29

自定义UITableView各种函数的相关文章

自定义UITableView显示不全

我在开发过程中,遇到了自定义UITableView显示不全的情况,有两行cell始终拉不到底部.估计是我自定义cell时改变了cell的高导致的.我的解决办法是让UITableView多显示两行.下面的数组_allAlarmArray是数据源.在UITableView的协议函数中返回几行的函数. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [_al

Qt自定义sleep延时函数(巧妙的使用时间差,但这样似乎CPU满格,而不是沉睡)

Qt不像VC++的win32/MFC编程那样,提供了现成的sleep函数可供调用.Qt把sleep函数封装在QThread类中.子线程可以调用sleep函数.但是如果用户想在主线程实现延时功能,该怎么办呢?方法是自定义sleep延时函数.通过QDateTime来实现时间差. #include <QDateTime> void MainWindow::sleep(int msec)//自定义Qt延时函数,单位毫秒 { QDateTime last = QDateTime::currentDate

PHP 错误与异常 笔记与总结(8)自定义错误处理函数 set_error_handler()

通过 Set_error_handler() 函数设置用户自定义的错误处理函数. 步骤: ① 创建错误处理函数 ② 设置不同级别调用函数 ③ Set_error_handler() 函数制定接管错误处理—— 如果使用了该函数,程序会绕过标准的 PHP 错误处理. 摘自:php.net mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] ) 设置一个用户的函数(erro

Freemaker 自定义指令和函数

自定义函数和指令都可以在前台或者后台进行指定. (一) 自定义指令 使用以下格式调用自定义指令: <@user_def_dir_exp param1=val1 param2=val2 ... paramN=valN/> 定义在前台: <#macro name param1 param2 ... paramN> ... <#nested loopvar1, loopvar2, ..., loopvarN> ... <#return> ... </#mac

自定义实现GetProcAddress函数

#include <windows.h> #include <stdlib.h> void *SefGetProcAddress(HMODULE module, const char *proc_name) { char *modb = (char *)module; IMAGE_DOS_HEADER *dos_header = (IMAGE_DOS_HEADER *)modb; IMAGE_NT_HEADERS *nt_headers = (IMAGE_NT_HEADERS *)

自定义加密解密函数

/** * * 加密参数 * @author tarylei <[email protected]> * @version 2014年3月31日 17:57:14 * @param string $param * @return string $_key */ function encryptParam( $param = '' ) { $_key = ''; $CI = & get_instance (); $CI->load->library('Hencrypt');

自定义一个EL函数

自定义一个EL函数 一般就是一下几个步骤,顺便提供一个工作常用的 案例: 1.编写一个java类,并编写一个静态方法(必需是静态方法),如下所示: public class DateTag { private final static Logger logger = LogManager.getLogger(DateTag.class); private static final long serialVersionUID = -2312310581852395045L; public stat

eCos系统无法正确链接到在C++源文件中自定义的cyg_user_start函数的问题和解决办法

在C++源文件中定义cyg_user_start函数前,将其声明成C函数,即可解决问题. eCos官网:http://ecos.sourceware.org eCos中文技术网:http://www.52ecos.net eCos交流QQ群:144940146. http://blog.csdn.net/zoomdy/article/details/39396085 mingdu.zheng<at>gmail<dot>com 问题: 在C++源文件中定义cyg_user_start

纯代码实现自定义UITableView的cell

纯代码实现自定义UITableView的cell 新建一个继承自UITableViewCell的类 重写initWithStyle:reuseIdentifier:方法,在里面实现: 添加所有需要显示的子控件(不需要设置子控件的数据和frame,子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) BNPSettingCell.h文件: /*本代码实现自定义cell的分隔线*/ #import <UIKit/UIKit.h> @