0

我对 Obj-C 和 iOS 还是很陌生,所以请多多包涵。在我的应用程序中,我正在尝试实现一个共享按钮,该按钮会在当前视图控制器中显示第二个视图。我正在关注本教程(http://www.youtube.com/watch?v=DZ3SyGInklQ),我遇到了开发人员使用的问题initWithNibName并且我正在使用情节提要。我想知道为什么当我按下按钮时我的第二个视图没有出现。这可能很明显,但我无法弄清楚。

这是我当前的一些代码:

菜单.h

//Share button
- (IBAction)shareButton:(id)sender;

菜单.M

- (IBAction)shareButton:(id)sender {

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MenuStoryboard" bundle:nil];
UIViewController *sharebuttonview = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"sharebuttonview"];


[self presentViewController:sharebuttonview animated:YES completion:NULL];

}

4

2 回答 2

0

首先进入情节提要,然后将共享按钮与要显示的视图连接起来。之后,您使用标识符命名此 segue。

在 IBAction 中的 Menu.M 中,您编写:

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

(mySegueIdentifier 是你之前使用的 Identifier)

于 2013-11-14T17:58:50.637 回答
0

根据您对问题的描述,您可能想要进行手动 segue,它允许您从任意数量的 UI 控件打开目标视图控制器。与以前版本的 Xcode 相比,工作流程从 Xcode 5 发生了变化。您可能希望查看我的博客文章以获取更多提示,但本质上您将希望打开故事板并从文档大纲视图中的一个视图控制器执行 Ctrl+Drag 到第二个视图控制器。

然后,您需要通过单击连接两个视图控制器的灰线中间的 Segue 来命名创建的 segue,并在身份检查器中更新 segue id。

在您的源视图控制器中,您应该能够进行任何操作调用[self performSegueWithIdentifier:@"MySegueID"];

此外,您可以向源视图控制器添加 prepareForSegue 方法,该方法允许您初始化并将信息传递给目标视图控制器。

Apple 有一个示例项目,您可以下载该项目以详细查看此工作流程 ( MultipeerGroupChat )

希望这可以帮助。

于 2013-11-14T18:10:40.257 回答