IOS 7 viewForHeaderInSection 的section从1开始而不是从0开始

【问题】

(UIView *) tableView:(UITableView
*)tableView viewForHeaderInSection:(NSInteger)section
方法中的section貌似从1开始而不是从0



【思路】

程序中虽然设置了 self.tableView.sectionHeaderHeight  =20

还还是是不行 viewForHeaderInSection 中的section始终还是从1开始。

于是我发现, 如果你使用方法:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{

return 40;

}

就从0开始啦。

尼玛真吭 IOS7的新特性,其实 self.tableView.sectionHeaderHeight
 =20 这种效率远远比方法要快。如果不存在特殊需求大家还是直接设置属性来吧。


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

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 40)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, tableView.frame.size.width, 20)];
label.font = [UIFont systemFontOfSize:16.0f]; //UILabel的字体大小
label.numberOfLines = 0; //必须定义这个属性,否则UILabel不会换行
label.textColor = CR_RGBCOLOR(170, 170, 170);
label.textAlignment = NSTextAlignmentLeft; //文本对齐方式
[label setBackgroundColor:[UIColor clearColor]];
label.text = self.sectionTitles[section];
[headerView setBackgroundColor:[UIColor clearColor]];
[headerView addSubview:label];
return headerView;
}

- (UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{

return [[CRCustomFooter alloc] init];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger section = indexPath.section;
NSUInteger row = indexPath.row;

if(section == 1){
if (row == 0) {
[self recommendToFriends];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}else if(row == 1){
[self sendFeedback];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}else if(row == 2){
[self rateApp];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}else{
}
}
}

IOS 7 viewForHeaderInSection 的section从1开始而不是从0开始

时间: 2024-10-14 00:19:24

IOS 7 viewForHeaderInSection 的section从1开始而不是从0开始的相关文章

折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)

项目需要做了一个类似qq联系人的折叠表格,思路很简单:设置每个section的header,在header上显示组名等信息,然后根据折叠与否,设置每个section中cell的数量,如果折叠,则将之设置为0,否则设置为实际的cell数量,然后刷新表格即可. 那么问题来了: 1.如果使用UITableViewStylePlain样式的表格,那么header是会在表格滑动的时候在顶部悬浮,而不是跟随表格的滑动而一起滑动. 2.如果使用了UITableViewStyleGrouped样式的表格,tab

IOS笔记-代码块(微博项目)-1.0

1.gcd子线程block代码块 2.遍历子控件 设置系统控件属性 3.UITabBar_tabBarItem字体颜色设置

IOS总结(学习过程中整理的笔记)

MVC模式:(model+view+controller):是一种帮你把代码功能和显示划分出来的设计模式: model:较为底层的数据引擎,负责管理实体中所继承的数据: view:和用户交互界面: controller:连接二者的桥梁: cocoa frameworks 有两个框架: foundation foundation  是cocoa中最基本的一些类:再mac应用程序中负责对象管理,内存管理,容器等相关数据: uikit: uikit:为程序提供可视化的底层构架,包括窗口,视图,控件类和

iOS- 如何改变section header

希望这个从UITableViewDelegate协议里得到的方法可以对你有所帮助: - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];

iOS开发基础知识--碎片9

iOS开发基础知识--碎片9  1:两种方法删除NSUserDefaults所有记录 //方法一 NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier]; [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain]; //方法二 - (void)resetDefaults { NSUserDefaults * defs = [N

[iOS 前端笔记+小技巧]

我决定倒着写了... 7.给collectioncell加边框 或者给任何view加边框的方法 - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // 初始化时加载collectionCell.xib文件 NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"ClassesViewCell" owne

iOS TableView实现QQ好友列表(三)

上节我们讲到如何展示好友信息 iOS TableView实现QQ好友列表(二) http://blog.csdn.net/lwjok2007/article/details/46549111 接下来我们将分组点击的时候折叠起来. 首先新建一个可变字典用来存储当前列表是否展示 NSMutableArray *selectedArr;//控制列表是否被打开 selectedArr=[[NSMutableArray alloc]init]; 根据前两节所讲,我们讲分组名称放在section的heade

IOS异常日志记录与展现功能

在平常的APP开发过程中经常碰到程序遇到异常闪退的问题,通过日志可以把相关的详细错误信息进行记录,本实例要记录不管在哪个页面出错都要进行记录,这边使用到的日志记录插件CocoaLumberjack,以文本的形式记录错误信息,然后再去读取各个文本的内容进行展示:当然现在有很多第三方的插件比如友盟也已经集成错误记录的功能: 效果图如下: 1:封装DDLogger的类 MyFileLogger.h文件 #import <Foundation/Foundation.h> #import <Coc

IOS异常日志记录与展现

在平常的APP开发过程中经常碰到程序遇到异常闪退的问题,通过日志可以把相关的详细错误信息进行记录,本实例要记录不管在哪个页面出错都要进行记录,这边使用到的日志记录插件CocoaLumberjack,以文本的形式记录错误信息,然后再去读取各个文本的内容进行展示:当然现在有很多第三方的插件比如友盟也已经集成错误记录的功能: 效果图如下: 1:封装DDLogger的类 MyFileLogger.h文件 #import <Foundation/Foundation.h> #import <Coc