无法在Interface Builder

时间:2018-01-09 08:49:43

标签: ios xcode interface-builder

我正在尝试制作可在Interface Builder上预览的自定义UI组件。首先我尝试自己编写代码,但我无法编写代码(它适用于构建的应用程序,但不能在IB上预览。)

当然我怀疑我的代码是错的,所以我从我参考的教程中抓住了这个项目。

https://cheesecakelabs.com/blog/building-custom-ui-controls-xcodes-interface-builder/

但结果只是显示一个矩形,而不是在自定义组件中显示两个按钮。 我构建了项目,但它没有对预览生效。

我认为是下面的原因之一,但基本上我对它的进一步细节一无所知。有人有任何想法吗?

  1. 自从教程开始,InterfaceBuilder发生了一些变化 上面的链接写的(2017年9月)
  2. 本教程从一开始就是错误的
  3. 我在XCode / InterfaceBuilder中配置错误
  4. 我误解了上述教程的目的,无法以任何方式预览该自定义组件上的按钮
  5. 如果有人在预览此自定义组件时有成功/失败的经验,请告诉我。

    谢谢!

1 个答案:

答案 0 :(得分:0)

显然,当Element a: a <Element '{http://www.example.com}a' at 0x2bbcb30> Element b: a/b <Element '{http://www.example.com}b' at 0x2bbcb70> Attribute c: a/b/@c Hello, world! 控件在IB中呈现时,AwesomeView.xib中按钮的预定义Title属性会覆盖用户定义的属性。

不确定这是设计还是错误(我倾向于它是一个错误)。

要解决它,你可以:

打开@IBDesignable并删除“按钮1”和“按钮2”标题

AwesomeView.xib

的末尾添加此行
initNib()

最初,您只会看到空白按钮...但在IB中设置button1.setTitle("", for: .normal) 应该有效。