【问题标题】:UIContainerView call parent methodUIContainerView 调用父方法
【发布时间】:2014-03-24 17:43:51
【问题描述】:

我是一名 iOS 开发新手,需要您的帮助。

我有一个简单的应用程序,由:

1 个包含

的视图控制器
  • 3个UIContainerView,每一个都链接到自己的视图控制器和类
  • 一个视图(玩家)

这是我的故事板的图像,因此更容易理解: => 我需要 10 个代表才能将图片作为图片发布

我想要的是,当我单击“视图控制器搜索”内单元格上的播放按钮时,它会从父(主?)视图控制器调用一个方法或函数,包括要播放的文件的 url。

我已经对播放按钮进行了有效的操作,我已经找到了如何从中获取 url 并使用 NSLog 打印它,所以这部分一切都很好。我唯一的问题是找到一种通过发送 url 与主视图进行通信的方法。

如果希望我足够清楚,谢谢您的时间。

【问题讨论】:

  • 使用属性访问你的父级self.parentViewController

标签: ios objective-c delegates uicontainerview


【解决方案1】:

你有两个选择:

  1. 快速而肮脏的方法是使用包含的控制器的parentViewController 属性,将其转换为父视图控制器的类型并在其上调用方法。
  2. 正确的方法是为您的搜索视图控制器定义一个委托协议和属性,并使父视图控制器符合它。然后,在父视图控制器的prepareForSegue: 中,将父视图控制器设置为搜索控制器的委托。

prepareForSegue: 将在您的父视图控制器加载时被调用 3 次,对于您在上面的故事板中定义的每个 embed segue 调用一次。就像你推送一个导航控制器一样,这是你配置目标视图控制器的机会。您可以为情节提要中的每个嵌入 segue 提供一个标识符以帮助完成此过程。

【讨论】:

  • 感谢您的详细解答。我对 obj-c 很陌生,但我会检查一下这个委托解决方案。你有什么简单的教程/例子可以建议吗?
猜你喜欢
  • 1970-01-01
  • 2011-01-03
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多