【发布时间】:2016-01-07 18:59:18
【问题描述】:
iOS 开发和 Objective-C 的新手,有点不确定如何解决这个问题。
我正在开发一个类似于视频播放器的项目。有两个 ViewController:
- MenuViewController(有一个充当按钮的标题列表)
- PlayerViewController(查看视频播放位置)
在 MenuViewController 中,我希望能够点击一个按钮(视频标题):
- (IBAction)videoOne:(id)sender
{
PlayerViewController * vc = [[PlayerViewController alloc] initWithNibName:@"PlayerViewController" bundle:nil];
[self presentModalViewController:vc animated:YES];
}
并让当前在 PlayerViewController 中定义的动作在加载后立即自动执行。
有没有办法让一个 ViewController 中的按钮在第二个 ViewController 加载后立即调用另一个 ViewController 中的操作?
谢谢!
【问题讨论】:
-
使用委托来实现您的需要。或者将值/标志传递给另一个视图控制器,当你加载该视图控制器时,检查该值并加载必要的方法。
-
你可以尝试传递一个块。似乎 PlayerViewController 知道“何时”(完成加载),而 MenuViewController 知道“如何”(应该做什么)。因此,您可以将一个块(“如何”)从 MenuViewController 传递给 PlayerViewController,然后它会在适当的时间(“何时”)执行该块。
标签: ios objective-c