ios StoryBoard - UIImageView 的子类显示为 UIImageView 而不是 IBOutlet 变量中的子类

Posted

技术标签:

【中文标题】ios StoryBoard - UIImageView 的子类显示为 UIImageView 而不是 IBOutlet 变量中的子类【英文标题】:ios StoryBoard - Subclass of UIImageView is showing up as a UIImageView rather than the subclass in IBOutlet variable 【发布时间】:2012-02-26 22:30:45 【问题描述】:

我有一个 UIImageView 的子类,称为 SlideShowView。 SlideShowView .h 和 .m 文件位于从我的主项目中引用的共享项目中。

在我的故事板中,我有一个 SlideShowView 实例连接到我的 ViewController 中的 IBOutlet。

当我尝试在该实例上调用 SlideShowView 方法 setImages: 时,我收到此错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImageView setImages:]: unrecognized selector sent to instance 0x6b57360

当我执行po [self slideShowView],定义为: @property (weak, nonatomic) IBOutlet SlideShowView *slideshowView;,它显示为<UIImageView: 0x6b57360; ...

所以似乎出于某种原因,它没有被设置为我的子类的实例,而是 UIImageView 的实例。

更新: 如果我将 SlideShowView.m 和 .h 文件从共享库复制到我的主项目,它就可以工作。所以这让我觉得这与故事板找不到共享库文件有关。

更新 2:我尝试将故事板中的 customClass 设置为 fkdsfewnwef,它没有抛出任何错误或任何东西,它仍然显示为 UIImageView。所以现在我很确定这与在链接的静态库项目中找不到 SlideShowView 有关。

【问题讨论】:

【参考方案1】:

在情节提要中,选择它并将其设置为身份检查器中的 SlideShowView。否则,情节提要无法知道它应该是什么类。

【讨论】:

是的,我已经这样做了,它设置为 SlideShowView。但问题仍然存在:( 是的,对不起;这显然是关于静态库的链接。我的回答无关紧要。这篇文章可能会有所帮助:blog.carbonfive.com/2011/04/04/…

以上是关于ios StoryBoard - UIImageView 的子类显示为 UIImageView 而不是 IBOutlet 变量中的子类的主要内容,如果未能解决你的问题,请参考以下文章

iOS 9 Storyboard 教程(一上)

IOS入门之StoryBoard

iOS之Storyboard References

iOS Storyboard全解析(转)

iOS中Storyboard使用要点记录

iOS基础 02 StoryBoard 故事板文件