我正在尝试创建一个可重用的组件来显示一些照片集。 基本流程如下:
View
。它包含我所谓的库,以编程方式设计并通过分配自定义类PhotoLib
从照片路径创建新的PhotoCell
我希望我的PhotoCell
能够启用触控功能,因此当我点按它时,它会以模态方式打开第二个视图,但从我读到的内容中我无法通过我的PhotoCell
或内部的UIImageView(不是控制器)。
那我该怎么办? View
嵌入在NavigationController中,即使未在下面的屏幕截图中显示。
谢谢!
答案 0 :(得分:2)
如果你在photolib中创建Photocell,那么photolib应该从photocell实现委托方法。但是photolib本身不是rootviewcontroller,所以它应该自己声明委托方法,并且包含的视图应该实现它。
基本上你将Photocell从它自己传递给Photolib(实现委托方法
)-(void) openPhotoCell:(Photocell*)cell
{
[self.delegate openPhotocell:(Photocell*)cell];
}
,然后将其传递给View,然后又打开它。
它可能看起来像是从耳朵上拔出一颗牙齿,但实际上它非常有用,如果你写出好的自解释代码,那就不是问题了。我目前正在开发一个有几十个视图和控制器的大项目,它工作得很好,没有人有问题。
如果您有更多图层,那么也许您应该查看NSNotification。
希望它有所帮助,我很乐意解释更多。
UPD:
链接: