Ios 无法在Interface Builder上预览IBDesignable自定义组件
我正在尝试制作一个可以在Interface Builder上预览的自定义UI组件。首先,我试图自己编写代码,但我没能成功(它在内置应用程序上运行,但无法在IB上预览。) 当然,我怀疑我的代码是错的,所以我从我参考的教程中抓取了这个项目 但是结果只是显示一个矩形,而不是在自定义组件中显示两个按钮。 我构建了这个项目,但它没有对预览生效 我认为原因如下,但基本上我不知道它的进一步细节。有人知道吗Ios 无法在Interface Builder上预览IBDesignable自定义组件,ios,xcode,interface-builder,Ios,Xcode,Interface Builder,我正在尝试制作一个可以在Interface Builder上预览的自定义UI组件。首先,我试图自己编写代码,但我没能成功(它在内置应用程序上运行,但无法在IB上预览。) 当然,我怀疑我的代码是错的,所以我从我参考的教程中抓取了这个项目 但是结果只是显示一个矩形,而不是在自定义组件中显示两个按钮。 我构建了这个项目,但它没有对预览生效 我认为原因如下,但基本上我不知道它的进一步细节。有人知道吗 自的教程发布以来,InterfaceBuilder发生了一些变化 上述链接已编写(2017年9月) 教
谢谢 显然,在IB中呈现
@IBDesignable
控件时,AwesomeView.xib
中按钮的预定义标题属性将覆盖用户定义的属性
不确定这是设计还是一个bug(我倾向于把它当成bug)
要绕过它,您可以:
打开AwesomeView.xib
并删除“按钮1”和“按钮2”标题
或
在initNib()的末尾添加此行:
最初,您将只看到空白按钮。。。但是在IB中设置按钮1 title
应该会起作用。请分享一些代码。我怀疑您希望看到的两个按钮不是在IB生命周期中绘制的,而是在正常的UIViewController生命周期中绘制的。代码与上面链接中的代码完全相同。没用。。。不仅是标题文本,按钮本身也不会显示在我的位置。打开故事板时,请确保选中了“自动刷新视图”
。您可能还需要选择编辑器->刷新所有视图
。当您这样做时,是否会收到任何错误或警告?谢谢,但两者都不起作用。我也没有收到任何错误。@TakeshiYokemura-不确定问题出在哪里。。。我刚刚下载了一份新的IBComponents
githubrepo,用Xcode 9打开了它,打开了Main.storyboard。。。几秒钟后,我在自定义视图中看到了2个按钮。谢谢。这是一个有价值的信息。这意味着我的XCode环境有问题。
button1.setTitle("", for: .normal)