我用我的自定义单元格创建了一个.xib,我在我的故事板中的一个tableviewcontroller上使用了它。
在故事板中,我将当前的tableview与另一个带有push segue的tableview相关联。 (当用户点击其中一个单元格时,他有一个新视图)。
问题是,我不明白,如何"链接"这个segue,还有我的CUSTOM单元?
我正在加载我的自定义单元格:
static NSString *simpleTableIdentifier = @"cellCustom";
cellCustomView *cell = (cellCustomView *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"cellCustom" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
当我尝试实现该方法时:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"test");
}
我什么都没有,因为根据我的说法,我错过了与自定义单元格有关的事情,以及我的故事板的细节,但我不明白它是如何工作的:/
THX,
答案 0 :(得分:0)
你试过这个吗?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"MySegue"
sender:self];
}
此方法属于包含tableView的任何类。确保tableView的委托在该类中等于self。如果您正在使用故事板,请将此视图拖动到您想要转移到的任何视图。单击该segue,并将其标识符更改为“MySegue”或您想要的任何内容,只要它在您的代码中相同即可。
答案 1 :(得分:0)
您可以尝试以下方法
控制+从您的单元格拖动到下一个视图控制器以设置一个名为“showDetail”的segue,您要在单击tableview单元格时显示该区域。
并在您的视图控制器中
如果您有nsarray,例如
NSArray *names = @[@"Apple", @"Google", @"Microsoft"];
并且您希望根据所选的表行单元格索引传递数组值,您可以按如下方式
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"])
{
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSString *name = _names[indexPath.row];
// For explanation sake, I am assuming name as property defined
// in your destination view controller
[[segue destinationViewController] setName:name];
}
}