gpt4 book ai didi

iphone - 连接从自定义类加载的 XIB 到 Storyboard的操作

转载 作者:行者123 更新时间:2023-12-03 21:03:29 27 4
gpt4 key购买 nike

我正在尝试创建一个可重用的组件来显示一些照片集。基本流程如下:

  • 第一次查看:查看。它包含我所谓的库,以编程方式设计并通过分配自定义类从 Storyboard加载
  • 我在模态视图中拍照,通过“拍照”按钮打开
  • 将照片保存到磁盘后,我会要求 PhotoLib 从照片路径创建一个新的 PhotoCell

我希望我的 PhotoCell 能够启用触摸功能,这样当我点击它时,它会以模式方式打开第二个 View ,但从我读到的内容来看,我无法从我的 PhotoCell 中执行此操作 或内部的 UIImageView(不是 Controller )。

那我该怎么办呢? View 嵌入在 NavigationController 中,即使下面的屏幕截图中没有显示。

谢谢!

View from XCode

最佳答案

如果您在 photolib 中创建 Photocell,则 photolib 应该实现来自 photocell 的委托(delegate)方法。但photolib本身不是rootviewcontroller,所以它应该声明自己的委托(delegate)方法,并且包含的​​ View 应该实现它。

基本上,您将 Photocell 从自身传递到 Photolib (它实现委托(delegate)方法

-(void) openPhotoCell:(Photocell*)cell
{
[self.delegate openPhotocell:(Photocell*)cell];
}

,然后将其传递给 View,View 又将其打开。

这看起来像是从耳朵里拔牙,但实际上它非常有效,如果你编写了良好的不言自明的代码,那么这不是问题。我目前正在开发一个包含数十个 View 和 Controller 的大型项目,它运行得很好,没有人对此有任何问题。

如果您有更多层,那么也许您应该考虑 NSNotification。

希望它有帮助,我很乐意解释更多。

更新:

链接:

about delegates in cocoa fundamentals guide

delegation pattern in wikipedia

关于iphone - 连接从自定义类加载的 XIB 到 Storyboard的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11123487/

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