1

我有一个按钮插座集合,它收集了 10 个最近的商店位置并按顺序显示它们。我试图做的是,只要按下其中一个按钮,它就会打开一个详细视图控制器并在新窗口中显示标题。我拥有的声明查询和出口集合的代码如下:

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        int i = 0;
        for (PFObject *object in objects) {
            if (i >= [self.EventTitles count]) break;
            [(UIButton *)self.EventButtons[i] setTitle:[object objectForKey:@"objectId"] forState:UIControlStateNormal];
            [(UIButton *)self.EventButtons[i] addTarget:self action:@selector(DetailEvent1:) forControlEvents:UIControlEventTouchUpInside];
            i++;
        }
    }
}];

以及 DetailEvent1 操作代码:

-(IBAction)DetailEvent1:(id)sender {
    TableDetailViewController *objDetail = [[TableDetailViewController alloc] initWithNibName:@"TableDetailViewController" bundle:nil];
    objDetail.??????? = self.????????;
}

我需要一些帮助来编写如何将所选对象推送到 TableDetailViewController。我真的很感激帮助。

4

2 回答 2

0

要将新视图的标题设置为按钮中的标题并推送新视图控制器,此代码应该可以工作(假设您当前的视图已经在 a 中UINavigationController):

-(IBAction)DetailEvent1:(id)sender 
{
    TableDetailViewController *objDetail = [[TableDetailViewController alloc]
                                           initWithNibName: @"TableDetailViewController" 
                                                    bundle: nil];

    // Copy button's title
    objDetail.title = ((UIButton *)sender).titleLabel.text;

    // Push new view controller
    [self.navigationController pushViewController:objDetail animated:YES];
}
于 2014-01-28T18:29:53.047 回答
0

如果您使用情节提要为您的新视图控制器创建一个转场,您可以简单地performSegueWithIdentifierDetailEvent1. 然后设置 VC 标题并在 prepareForSegue 中传递新 VC 所需的任何数据。

于 2014-01-28T20:36:09.887 回答