首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@IBDesignable crashing

@IBDesignable crashing
EN

Stack Overflow用户
提问于 2015-07-07 18:22:07
回答 10查看 34.7K关注 0票数 76

当我编写自己的UIButton-extended类并将其设为@IBDesignable时,我在接口生成器中收到两个错误,即:

  • Main.storyboard:错误: IB可设计性:无法更新自动布局状态:代理崩溃,因为fd closed
  • Main.storyboard:错误: IB可设计性:无法呈现RandjeUIButton的实例:代理崩溃

下面是我的代码:

代码语言:javascript
复制
import UIKit

@IBDesignable
class RandjeUIButton: UIButton {
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        self.backgroundColor = UIColor.blackColor()
    }
}

我在OS X 10.11 beta 2上使用Xcode 7 beta 2。(在VM中运行)

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2015-12-17 05:57:11

Xcode的接口生成器要求您实现或,也不实现初始化器,以便在IB中正确呈现@IBDesignable类。

如果实现required init(coder aDecoder: NSCoder),还需要覆盖init(frame: CGRect),否则“代理将崩溃”,如Xcode抛出的错误所示。

为此,将以下代码添加到您的类中:

代码语言:javascript
复制
override init(frame: CGRect) {
    super.init(frame: frame)
}
票数 123
EN

Stack Overflow用户

发布于 2016-05-16 23:23:13

我遇到了同样的问题,并以这种方式解决了它:

  1. The Problem:

错误: IB Designables:无法更新自动布局状态:代理崩溃

  1. 在检查文件中找到调试按钮并单击它。

  1. ,然后Xcode会告诉你问题出在哪里。在我的例子中,我在类前面删除了IBDesignable
  2. ,然后我清理并重新构建它,错误在

中消失了

票数 24
EN

Stack Overflow用户

发布于 2015-12-31 13:37:34

有无数的问题可以导致这一点。启动控制台,并查找崩溃报告IBDesignablesCocoaTouch...

我刚刚解决了第三方designable的一个问题,这个问题与valueForKey语义有关。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31265906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档