【问题标题】:Unable to set delegate using IB for KASlideShow无法使用 IB 为 KASlideShow 设置委托
【发布时间】:2015-11-17 20:31:45
【问题描述】:

我正在为 Swift 使用 KASlideShow pod 。它处理 UIImageView 以启用幻灯片的创建

我在看example project 来学习如何使用它。我也是 Swift 的初学者

所以我的想法是这样的:

  1. 将图像视图拖到视图控制器上。
  2. 通过 Ctrl+Drag 将 Image View 对象从 Image View 创建一个出口到 VC Swift 文件并创建 KASlideShow 类型的它!示例:

    @IBOutlet weak var slideshowView: KASlideShow!

  3. 该类应引用协议委托示例:

    类 SlideshowViewController: UIViewController, KASlideShowDelegate

  4. 设置委托,但是如何设置? 由于我无法使用 Ctrl+Drag 机制执行此操作,我只需输入

    slideshowView.delegate = self

上面的炸弹有一个堆栈输出显示:

2015-11-17 12:10:22.681 Mimi[15268:1084006] -[UIView setDelegate:]: unrecognized selector sent to instance 0x7fc7f2efb2d0
2015-11-17 12:10:22.698 Mimi[15268:1084006] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setDelegate:]: unrecognized selector sent to instance 0x7fc7f2efb2d0'

我知道我错过了一个小而简单的方法!救命!

【问题讨论】:

    标签: ios swift uiimageview delegates


    【解决方案1】:

    在情节提要上,您是否也在 ImageView 上设置类? (不仅仅是出口)

    【讨论】:

    • 看起来这确实是失败的原因,因为它抱怨的是[UIView setDelegate] 而不是[KASlideShowView setDelegate]。另外值得注意的是,您可以通过将delegate 拖动到树视图中所需的视图控制器来在 IB 中设置委托。
    • 我不关注 - 自定义类是否应该设置为 KASlideShow?我试过了,它似乎没有被使用(它恢复为灰色选项)
    • 没关系!事实证明,KASlideShow 将显示为 View Object 而不是 ImageView Objects 的自定义类 - 有了这个,我的问题就解决了!
    猜你喜欢
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    相关资源
    最近更新 更多