Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法在Interface Builder上预览IBDesignable自定义组件_Ios_Xcode_Interface Builder - Fatal编程技术网

Ios 无法在Interface Builder上预览IBDesignable自定义组件

Ios 无法在Interface Builder上预览IBDesignable自定义组件,ios,xcode,interface-builder,Ios,Xcode,Interface Builder,我正在尝试制作一个可以在Interface Builder上预览的自定义UI组件。首先,我试图自己编写代码,但我没能成功(它在内置应用程序上运行,但无法在IB上预览。) 当然,我怀疑我的代码是错的,所以我从我参考的教程中抓取了这个项目 但是结果只是显示一个矩形,而不是在自定义组件中显示两个按钮。 我构建了这个项目,但它没有对预览生效 我认为原因如下,但基本上我不知道它的进一步细节。有人知道吗 自的教程发布以来,InterfaceBuilder发生了一些变化 上述链接已编写(2017年9月) 教

我正在尝试制作一个可以在Interface Builder上预览的自定义UI组件。首先,我试图自己编写代码,但我没能成功(它在内置应用程序上运行,但无法在IB上预览。)

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

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

我认为原因如下,但基本上我不知道它的进一步细节。有人知道吗

  • 自的教程发布以来,InterfaceBuilder发生了一些变化 上述链接已编写(2017年9月)
  • 教程从一开始就错了
  • 我在XCode/InterfaceBuilder中配置错误
  • 我误解了上述教程的目的,自定义组件上的按钮无法以任何方式预览
  • 或者,如果任何人在预览此自定义组件时有成功/失败的经验,也请让我知道


    谢谢

    显然,在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)