推动配件按钮中的故事板视图

时间:2013-08-28 09:34:48

标签: ios objective-c xcode uistoryboard uitableview

我的故事板名为“MainStoryboard_iPhone.storyboard”,它有2个视图。第一个视图有一个带有公开按钮的表格单元格。我可以将表格单元格拖放到其他视图并显示视图,但我只需要在用户单击附件按钮而不使用segue时以编程方式执行此操作。 2个视图的名称是RootViewController和ProviderLookupViewController。目前我已经尝试过这段代码但是没有用,当我点击单元格上的附件按钮时会抛出错误。注释行是我尝试的其他内容

-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
    UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone"
                                                  bundle:nil];
   // ProviderLookupViewController* vc = [sb instantiateViewControllerWithIdentifier:@"ProviderLookupViewController"];
    UIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"ProviderLookupViewController"];
     [self presentModalViewController:vc animated:YES];
    //[self.navigationController pushViewController:vc animated:YES];

}

3 个答案:

答案 0 :(得分:3)

如果我是对的:

1)从你的问题看来,你有一个带有两个视图控制器的故事板,第一个是UITableViewController,另一个是UIViewController的子类。

2)您希望在用户点击公开按钮时显示第二个视图。

鉴于您使用故事板而不是nib文件,我建议您使用segue,它将在不编写代码的情况下解决您的问题。

表格视图单元格可以有两个segue,一个用于选择单元格,另一个用于选择附件按钮。控制从附件按钮拖动到第二个视图控制器,而不是从单元格进行控制拖动,当菜单出现时,您必须在Accesory动作下面选择一个选项而不是选择Segue

enter image description here

表视图的原型单元必须具有公开附件启用。从实用程序窗格(右侧)执行此操作。附件不能没有这样做。在图片中,accessoy是详细信息披露。

enter image description here

实用程序窗格也让你做了segue。但是,使用附件动作,图片来自我的一个项目。

enter image description here

答案 1 :(得分:1)

首先在您的场景中将Storyboard id StoryBoard id作为ProviderLookupViewController提供,并勾选使用storyboard Id

ProviderLookupViewController* vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ProviderLookupViewController"];
[self presentModalViewController:vc animated:YES];

注意:ProviderLookupViewController是您的标识符。

答案 2 :(得分:-1)

在IB中从一个视图控制器创建一个segue到另一个视图控制器。添加一些识别器到segue并使用

[self performSegueWithIdentifier:@"SomeSegueName" sender:someObject];