容器视图中的视图控制器与目标C中的父控制器之间的交互

问题描述 投票:1回答:1

我最近才开始为iOS编程(在Objective C中)。我对大多数iOS编程概念都很陌生。我已经能够使用Tutorials和stackoverflow线程,但现在我遇到了问题。我正在使用Storyboard来构建我的界面,所以现在我有了这个设置:

我有一个标准的“视图控制器”,其中包含一个“容器视图”和两个按钮。 Container View嵌入了“页面视图控制器”。

我现在如何使用父“视图控制器”中的按钮执行“页面视图控制器”中的方法?我听说过代表团或与Selectors合作,但我真的不明白其中任何一个在代码中是如何工作的。

先感谢您!

ios objective-c iphone uicontainerview
1个回答
1
投票
  1. 在View控制器的接口声明中为页面视图控制器创建属性。

@property (nonatomic, assign) UIPageViewController *pageVC;

  1. 给segue一个'id',它将页面vc嵌入到容器中,比如segueIdentifier。
  2. 在视图控制器中实现prepareForSegue方法并访问segue的目标视图控制器以将其分配给local属性
    -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([segue.identifier isEqualToString:@"segueIdentifier"]) {
            if ([segue.destinationViewController isKindOfClass:[UIPageViewController class]]) {
                self.pageVC = (UIPageViewController *)segue.destinationViewController;
            }
        }
    }

执行segue后,您可以直接从主视图控制器访问嵌入式页面视图控制器。

© www.soinside.com 2019 - 2024. All rights reserved.