1

我有名为“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];

}
4

3 回答 3

3

如果我是正确的:

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

2)当用户单击公开按钮时,您希望呈现第二个视图。

鉴于您使用故事板而不是 nib 文件,我建议您使用 segue,它无需编写代码即可解决您的问题。

表格视图单元格可以有两个 segue,一个如果您选择单元格,另一个如果您选择附件按钮。控制从附件按钮到第二个视图控制器的拖动,而不是从单元格中进行控制拖动,当菜单出现时,您必须在辅助操作下方选择一个选项,而不是在选择序列下方

在此处输入图像描述

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

在此处输入图像描述

实用程序窗格还可以让您进行转场。不过,请使用辅助动作,图片来自我的一个项目。

在此处输入图像描述

于 2013-08-28T10:39:35.850 回答
1

首先故事板编号在您的场景中将情节提要 ID 作为 ProviderLookupViewController 并勾选使用情节提要 ID 然后

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

注意:ProviderLookupViewController 是您的标识符。

于 2013-08-28T10:10:34.987 回答
-1

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

[self performSegueWithIdentifier:@"SomeSegueName" sender:someObject];
于 2013-08-28T09:38:01.317 回答