NSObject使用nib加载UIView,但是fileowner是UIViewController

我有一个自定义对象,它可以处理视图的一些操作。 基本上它用一个nib文件初始化一个UIView。 但我希望我的viewcontroller负责处理IBActions。 所以我设置我的viewcontroller是文件的所有者和连接IBActions。

在我的自定义对象中,我加载nib文件,如下所示:

self.nibView = [[[NSBundle mainBundle] loadNibNamed:@"nibName" owner:delegate options:optionsDict] lastObject];

我设置了委托,这是我的UIViewController(有点奇怪)是所有者。 所以我期待我的viewcontroller处理IBActions,但它没有。 我的自定义对象试图响应该动作,当然由于没有响应选择器而导致应用程序崩溃。 我怎样才能做到这一点?

编辑:

视图控制器 视图控制器

自定义对象 自定义对象

笔尖文件 笔尖文件


代表是协议,所有者应该是一个对象。

如果您的视图控制器符合委托协议,您应该设置owner:self并确保视图的委托属性设置为您的视图控制器。 这可以使用IBOutlet在IB中完成,或者在代码中使用类似于: self.nibView.delegate = self

链接地址: http://www.djcxy.com/p/87721.html

上一篇: NSObject loading UIView with nib but fileowner is UIViewController

下一篇: iOS: UIView subclass init or initWithFrame:?