5

所以我开始在 XCode 4.3.2 中玩故事板。我从 Master-Detail 应用程序(iPad 的拆分视图应用程序)开始。在详细视图(名为DetailVC)中,我有一个视图,其中显示了一组自定义视图。

自定义视图(名为GridView)有一个点击手势识别器,它应该处理每个自定义视图上的点击事件。点击GridView推送视图控制器会显示一些搜索结果(名为SearchResultsVC)。

GridView单独的 nib 文件中创建,并且DetailVCSearchResultsVC驻留在情节提要中,如何创建带有目的地的推送转场SearchResultsVC?我刚刚在 DetailVC 和 SearchResultsVC 之间创建了一个 segue?当识别到点击手势时,我是否可以从 GridView 类内部以编程方式触发此 segue ????

4

1 回答 1

7

在处理水龙头的方法中:

[self performSegueWithIdentifier:@"yourSegueIdentifier" sender:self];

在 StoryBoard 控件中,从 DetailVC 拖动到 SearchResultVC 并选择您想要的 segue 类型。确保在属性检查器中将您的 segue 标识符命名为与上述方法中的标识符相同。

我会尝试改进我的答案我把它搞砸了我认为:

1)在您的 DetailVC.h 中为您的 GridView 创建一个实例变量,如下所示

IBOutlet UIView * gridView;

还像这样为您的网格视图创建一个 getter 方法和一个 IBAction

-(UIView *)gridView;
-(IBAction)myGridGotPressed:(id)sender;

2)现在在您的 DetailVC.m 中实现您的方法,如下所示

-(UIView *)gridView{
if(!gridView){
[[NSBundle mainBundle] loadNibNamed:@"GridView" owner:self options:nil];
}
return gridView;
}

也像这样实现你的 IBAction

-(IBAction)myGridGotPressed:(id)sender{
[self performSegueWithIdentifier:@"yourSegueIdentifier" sender:self];
}

3) 要完成这项工作,您需要将 GridView 的 filesOwner 类更改为 DetailVC,然后正常连接插座和操作。

我希望这会有所帮助。

于 2012-05-08T13:09:40.537 回答