我用户Master-Detail创建了一个项目。在MasterViewController
,表格单元格我使用MasterCell.h
和MasterCell.m
来构建我的自定义单元格,因此我的代码是:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
MasterCell *cell = (MasterCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[MasterCell alloc] initWithFrame:CGRectZero];
NSString *value = [[myContacts objectAtIndex:indexPath.row] valueForKey:@"Name"];
cell.nameContentLabel.text = [NSString stringWithFormat:@"%@", value];
value = [[myContacts objectAtIndex:indexPath.row] valueForKey:@"Tele"];
cell.teleContentLabel.text=[NSString stringWithFormat:@"%@", value];
value = [[myContacts objectAtIndex:indexPath.row] valueForKey:@"Image"];
cell.myImageView.image = [[UIImage alloc] initWithContentsOfFile:value];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
我想点击单元格然后按DetailViewController
,所以我的stroyboard是使用origin creat segue,但是它不起作用,我认为segue不是我的MasterCell
,我试图改变故事板单元格自定义类,并没有成功。我该怎么办?感谢。
答案 0 :(得分:7)
在你的故事板中你应该不是从单元格创建segue,而是从整个UITableViewController创建segue并设置一些标识符,例如" MySegue"而风格是" Push"。
然后在tableViewController中添加
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"MySegue" sender:self];
}
和
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"MySegue"]){
//do your stuff
}
}