我正在使用Storyboard。我讀過所以你不能在使用自定義tableviewcell的時候使用segues,並且如預期的那樣,它不起作用。即使我選擇一個自定義單元格,它也不會觸發任何內容。如何從自定義tableviewcell推送到新的視圖控制器
所以我一直試圖使用didSelectRowAtIndexPath來代替,使用下面的代碼,但現在它只是推動一個完全黑屏的黑屏背景。顯然,我做錯了什麼。我如何使用「選擇行事件」使用自定義tableviewcell推送到新的視圖控制器???
我將添加在Storyboard中聲明和設計SecondViewController的事實。我刪除了它的segue,所以它只是在storyboard中浮動。
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SecondViewController *svc = [[SecondViewController alloc]init];
[self.navigationController pushViewController:svc animated:YES];
}
下面的一些代碼供參考。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *simpleCellIdentifier = @"JokeCustomCell";
JokeCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleCellIdentifier];
JokePL *joke = [self.jokeDataManager.jokes objectAtIndex:indexPath.row];
cell.titleLabel.text = [NSString stringWithFormat: @"%@", joke.title];
cell.scoreLabel.text = [NSString stringWithFormat: @"Score: %@", [self quickStringFromInt:joke.score]];
cell.timeLabel.text = [self turnSecondsIntegerIntoMinuteAndSecondsFormat:joke.length];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"M/dd/yy"];
cell.dateLabel.text = [NSString stringWithFormat: @"%@", [dateFormatter stringFromDate:joke.creationDate]];
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 65;
}
這真是奇怪......也許是因爲我使用[self.tableView registerNib:[UINib nibWithNibName:@ 「JokeCustomCell」 捆綁:無] forCellReuseIdentifier:@ 「JokeCustomCell」];在viewDidLoad中? – 2014-11-04 22:42:52
我猜我在實現這個自定義tableViewCell時不正確地設置了一些東西? – 2014-11-04 22:43:25
啊我明白了。是的,我在Storyboard的表格視圖中使用了一個原型單元格 – 2014-11-04 22:43:48