如何将故事板中的原型单元格连接到以编程方式创建的单元格?

时间:2014-04-25 16:16:39

标签: ios objective-c

假设我以编程方式概述了UITableView的单元格。标签,定位等......为了将segue拖动到不同的视图,我需要在故事板中看到原型单元的一些可视化表示。我该怎么办?

我试过的是将原型单元拖到我的UITableView上。我将“Identifier”更改为我在代码中设置的重用单元标识符。在此之后,我继续通过右键拖动到目标视图,选择模态等链接原型单元格...当我运行应用程序时,点击单元格后没有任何反应。

将完全编码的单元格与故事板中的视觉描述相关联的最佳方法是什么?

不确定要在此处粘贴哪些代码,或者是否因为我要求提供一般信息而甚至是必要的。如果以及我应该包括哪些内容,请告诉我。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if([[segue identifier] isEqualToString:@"alertDetail"]) {

    NSIndexPath *indexPathA = [[self.tableViewA indexPathsForSelectedRows] lastObject];

    NSString *grabTicker = [[homeJson objectAtIndex:indexPathA.row]objectForKey:@"returnId"];




    [[segue destinationViewController] setGrabTicker:grabTicker];


}

}

2 个答案:

答案 0 :(得分:1)

通过从视图布局下方的视图控制器图标拖动到目标视图控制器,从视图控制器本身创建segue到目标视图控制器。

命名segue。

使用segue:

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
    [self performSegueWithIdentifier:@"alertDetail" sender:indexPath];
}

然后你的prepareForSegue看起来像:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(NSIndexPath*)indexPath {
    if([[segue identifier] isEqualToString:@"alertDetail"]) {
        NSString *grabTicker = [[homeJson objectAtIndex:indexPath.row]objectForKey:@"returnId"];

        [[segue destinationViewController] setGrabTicker:grabTicker];
    }
}

当然,所有这些都引出了一个问题:为什么你不仅仅将单元格布局作为故事板中的原型单元格,而且还有。

答案 1 :(得分:0)

将故事板中原型单元格的类更改为您在代码中使用的单元格的子类。确保将原型单元格的类型设置为自定义,以便它不会替换单元格的视图层次结构。

(作为旁注,请记住将您的观点添加到单元格的contentView,而不是直接添加到单元格本身!)