我正在尝试创建一个可重用的组件来显示一些照片集。 基本流程如下:
- 第一次查看:
查看
。它包含我所谓的库,以编程方式设计并通过分配自定义类从 Storyboard加载 - 我在模态视图中拍照,通过“拍照”按钮打开
- 将照片保存到磁盘后,我会要求
PhotoLib
从照片路径创建一个新的PhotoCell
我希望我的 PhotoCell
能够启用触摸功能,这样当我点击它时,它会以模式方式打开第二个 View ,但从我读到的内容来看,我无法从我的 PhotoCell 中执行此操作
或内部的 UIImageView(不是 Controller )。
那我该怎么办呢? View
嵌入在 NavigationController 中,即使下面的屏幕截图中没有显示。
谢谢!
最佳答案
如果您在 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。
希望它有帮助,我很乐意解释更多。
更新:
链接:
关于iphone - 连接从自定义类加载的 XIB 到 Storyboard的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11123487/