gpt4 book ai didi

ios - 容器 View 中的 View Controller 与 Objective C 中的父 Controller 之间的交互

转载 作者:行者123 更新时间:2023-11-29 11:51:18 25 4
gpt4 key购买 nike

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

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

我现在如何使用父“ View Controller ”中的按钮来执行“页面 View Controller ”中的方法?我听说过委托(delegate)或使用选择器,但我真的不明白它们在代码中如何工作。

提前致谢!

最佳答案

  1. 在 View Controller 的接口(interface)声明中为页面 View Controller 创建一个属性。

@property (nonatomic, assign) UIPageViewController *pageVC;

  1. 为在容器中嵌入页面 vc 的 segue 提供一个“id”,比如 segueIdentifier
  2. 在 View Controller 中实现 prepareForSegue 方法并访问 segue 的目标 View Controller 以将其分配给本地属性
    -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"segueIdentifier"]) {
if ([segue.destinationViewController isKindOfClass:[UIPageViewController class]]) {
self.pageVC = (UIPageViewController *)segue.destinationViewController;
}
}
}

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

关于ios - 容器 View 中的 View Controller 与 Objective C 中的父 Controller 之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41040707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com