ios - 我可以使用另一个ViewController的IBAction吗?

时间:2012-11-21 22:04:50

标签: iphone ios uiviewcontroller custom-controls

我正在使用故事板,我有2个自定义视图。

现在,如果我在主视图上有一个按钮,那么我可以移动嵌入的视图,但如果按钮在自定义视图上,我就无法获得相同的效果。是的我可以移动我所在的View Controller的视图,但我无法控制父控制器的操作。

这是不可能的,还是我以错误的方式看待这个?

请观察图像,我将解释我想要实现的目标:

My Storyboard

请注意我看过这个问题:Passing an IBAction to another ViewController 这在我的设置中似乎不起作用。

好的,因此Main Right和Main Left按预期工作 - 他们将Right SideVC向右移动并显示左侧和后侧。

现在我希望这些行为发生在右侧VC和左侧VC上,因为我想删除Main Right和Main Left按钮。

2 个答案:

答案 0 :(得分:0)

IBAction只是一种无法返回任何东西的无效方法。 IBAction这个名称只是为了简化连接接口。所以,它与其他方法类似。只要对象存在(在这种情况下为viewcontroller),就可以调用它响应的任何方法。

答案 1 :(得分:-1)

所以我能够通过使用AppDelegate来解决我的问题。我在一些文章中读到它并不总是放置东西的最佳位置,但为此我觉得没关系: - )

-(IBAction)move03
 {
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    MainViewController* viewController = appDelegate.viewController;
    [_move01Button addTarget:viewController action:@selector(move01Action) forControlEvents:UIControlEventTouchUpInside];
 }