lig*_*ter 3 objective-c storyboard
我用户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;
}
Run Code Online (Sandbox Code Playgroud)
我想要点击单元格并按下DetailViewController,所以我的stroyboard是使用原点创建segue,但它没有工作,我认为segue不是我的MasterCell,我试图改变故事板单元格自定义类,它不是没有成功.我该怎么办?谢谢.
小智 7
在你的故事板中你应该不是从单元格创建segue,而是从整个UITableViewController创建segue并设置一些标识符,例如"MySegue"和style是"Push".
然后在你的tableViewController中你应该添加
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"MySegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
和
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"MySegue"]){
//do your stuff
}
}
Run Code Online (Sandbox Code Playgroud)