すでに一日中 Google を検索しましたが、この問題の解決策がわかりません。
iOS アプリでカスタム セルを使用してテーブル ビューを実装しようとしています。さまざまな画像とラベルを表示するカスタム セルを使用しています。セルがテーブルビューに対して大きすぎることを除いて、すべてが正常に機能しています。heightForRowAtIndexPath メソッドを実装する必要があることはわかっていますが、呼び出されることはありません。
nibファイルとコードのShowPostsViewControllerでTableViewのデリゲートを設定しようとしましたが、何も役に立ちません。問題は、おそらく dataSource が設定されているが、デリゲートが設定されていないことだと思います。理由はわかりませんが。
これまでに見つけたすべての解決策は、デリゲートが正しく設定されていないと言っています。しかし、私はそれが私の場合だと確信しています?! どんな助けにも感謝します。これが私のコードです:
ShowPostsViewController.h
@interface ShowPostsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, strong) IBOutlet UITableView *postsTableView;
@end
および ShowPostsViewController.m
@implementation ShowPostsViewController
@synthesize postsTableView;
- (void)viewDidLoad
{
[super viewDidLoad];
self.postsTableView.delegate = self;
self.postsTableView.dataSource = self;
NSLog(@"Delegate set");
[postsTableView beginUpdates];
NSMutableArray *tempArray = [[NSMutableArray alloc] init];
for(int i=0; i<8; i++){
[tempArray addObject: [NSIndexPath indexPathForRow:i inSection:0]];
}
[postsTableView insertRowsAtIndexPaths:tempArray withRowAnimation:UITableViewRowAnimationAutomatic];
NSLog(@"Updates Called");
[postsTableView endUpdates];
[postsTableView reloadData];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 8;
}
//PostTableViewCell is my custom Cell that I want to display
-(PostTableViewCell*)tableView: (UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
PostTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if(!cell){
cell = [[PostTableViewCell alloc]initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:@"cell"];
}
return cell;
}
//This method is not called for some reason
-(CGFloat)tableview: (UITableView*)tableView heightForRowAtIndexPath: (NSIndexPath*) indexPath{
NSLog(@"Height Method called");
CGFloat returnValue = 1000;
return returnValue;
}
//This method is called
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView{
NSLog(@"Section Number called");
return 1;
}
@end
Interface Builder の ShowPostsViewController にリンクされた tableView も取得しました。
皆様の多大なご支援に感謝いたします。