0

我有一个标签栏控制器,里面有 3 个视图控制器和一个导航视图控制器。该导航视图控制器具有表视图控制器和详细视图。

在我的第一个视图控制器(第一个选项卡)中有三个按钮。我希望第一个按钮在导航控制器中加载详细视图。(如下图所示)

故事板

我怎样才能做到这一点?

我尝试调用在 LocationsTableViewController 中执行 segue 的方法,但这给了我错误“Receiver () has no segue with identifier 'addLocation'”。虽然segue“addLocation”肯定存在。

StartViewController 中连接按钮的方法:

- (IBAction)addLocationView:(id)sender {

    LocationsTableViewController *LTVC = [[LocationsTableViewController alloc] init];
    [LTVC addLocation];

}

位置表视图控制器:

-(void)addLocation
{
    [self performSegueWithIdentifier: @"addLocation" sender: self];
}
4

1 回答 1

0

您的“addLocation”转场是从位置表视图控制器到添加位置视图控制器,因此转场存在于 LocationsTableViewController 上。那是对的。但是,如果您当前的视图控制器不是 LocationsTableViewController,则调用该 segue 是没有意义的。

你有几个选择:

  1. 故事板选项 #1:从 StartViewController 到 AddLocationViewController 创建一个新的转场,并在addLocationView:.
  2. 故事板选项 #2:从按钮到 AddLocationViewController 进行新的转场,然后删除您的IBAction. 单击按钮时,故事板将自动调用该 segue。
  3. 编程选项:实例化一个新的 AddLocationViewController 并将其推送到导航堆栈:[self.navigationController pushViewController:[[AddLocationViewController alloc] init] animated:YES]
于 2013-10-04T17:18:17.363 回答