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

标签 iphone xcode uibutton xib ibaction

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

  • 第一次查看:查看。它包含我所谓的库,以编程方式设计并通过分配自定义类从 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/

相关文章:

ios - 如何以编程方式链接 IOS 中的 View

iphone - IOS中的按钮组

iphone - iOS 以编程方式创建的按钮不起作用

iphone - 如何更改 iPhone 上按钮的默认颜色?

ios - 将两个Xcode项目合并到一个Build中

iphone - For 循环 Objective-C

iphone - Twitter iPhone - 是否可以使用 iPhone 应用程序在 Twitter 上发帖而无需提供 PIN 码

iphone - UIImage 不是编译时常量,Xcode 4

ios - 编译iOS项目时出现问题

iPhone/iPad : Universal App and InAppSettingsKit