自定义UITableViewDelegate根本不起作用

时间:2012-04-18 21:35:18

标签: ios5 uitableview

所以,我正在http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2关注这个伟大的教程,开始使用iOS编程。

我决定要为我的表定制自定义标题,并且我一直在stackoverflow上找到很多信息,我应该在我的UITableViewDelegate中实现viewForHeaderInSection方法。

所以,既然我正在使用storyboard,我想我会创建自己的UITableView类,然后在故事板中将它用于我的表。

我还在我的表的“身份检查器”中的“自定义类”下选择了“MyTableView”作为“Class”。

我的UITableView(MyTableView.h)的子类看起来像这样:

#import <UIKit/Uikit.h>

@interface MyTableView : UITableView <UITableViewDelegate>

@end

MyTableView.m看起来像:

#import "MyTableView.h"

- (id)initWithFrame:(CGRect)frame
{
   self = [super initWithFrame:frame];
   if (self) {
         self.delegate = self;
   }
   return self;
}

// and then viewForHeaderInSection and heightForHeaderInSection is implemented below...

@end

1 个答案:

答案 0 :(得分:0)

你应该是UITableViewController的子类,而不是UITableView。 在向项目添加新文件时(选择:Cocoa touch - &gt; Objective-c类),您应该选择“UITableViewController”的子类

您的.h文件应如下所示

@interface MyTableViewController : UITableViewController
@end
<。>在.m文件中,您应该实现viewForHeaderInsectionheightForHeaderInSection 然后转到故事板并从对象库中拖出“UITableViewController”。 将类设置为MyTableViewController。