2012-04-18 5 views
0

したがって、iOSプログラミングを開始するにはhttp://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2でこの偉大なチュートリアルに従ってください。カスタムUITableViewDelefateはまったく動作しません

私は自分のテーブル用にカスタムメイドのヘッダーを作成したいと思っていました。いつものように、ここで私はUITableViewDelegateのviewForHeaderInSectionメソッドを実装する必要があることをstackoverflowで知っていました。

私はストーリーボードを使用しているので、自分のクラスのUITableViewを作成してストーリーボードのテーブルに使用すると思っていました。

また、私のテーブルの "アイデンティティインスペクタ"の "カスタムクラス"の "クラス"として "MyTableView"を選択しました。 UITableView(MyTableView.h)の

私のサブクラスでは、次のようになります。

#import <UIKit/Uikit.h> 

@interface MyTableView : UITableView <UITableViewDelegate> 

@end 

などMyTableView.mに見える:あなたはのUITableViewControllerとないのUITableViewをサブクラス化する必要があります

#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 

答えて

0

。 プロジェクトに新しいファイルを追加するとき(選択:ココアtouchを - > Objective-Cのクラス)あなたは

あなたの.hファイルは、この

@interface MyTableViewController : UITableViewController 
@end 

ようになっているはず「のUITableViewController」のサブクラスを選択する必要があります.mファイルを実装する必要がありますviewForHeaderInsectionheightForHeaderInSection あなたのストーリーボードに移動し、 "UITableViewController"オブジェクトライブラリからドラッグします。 クラスをMyTableViewControllerに設定します。

+0

私はコントローラをサブクラス化しました。私は、代理人がそれに対処したかっただけです。とにかく私は、コントローラをDelegateのTableViewにすることになった – netigger

+0

コントローラはデリゲートでなければなりません。 UITableViewControllerはUITableViewDataSourceとUITableViewDelegateプロトコルに準拠しているため、サブクラス化する際にはプロトコル内のメソッドを実装する必要があります。 – Moxy

関連する問題