Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Swift @带有.xib文件的IBDesignable类未在Interface Builder中呈现_Swift_Xcode_Uiview_Ibdesignable - Fatal编程技术网

Swift @带有.xib文件的IBDesignable类未在Interface Builder中呈现

Swift @带有.xib文件的IBDesignable类未在Interface Builder中呈现,swift,xcode,uiview,ibdesignable,Swift,Xcode,Uiview,Ibdesignable,我有一个CustomClass.swift和一个CustomClass.xib。我希望XCode的接口生成器使用提供的.xib文件呈现类CustomClass的视图。就像我运行应用程序时一样 我正在使用XCode8.3.2(8E2002) 斯威夫特 CustomClass.xib 文件所有者设置为CustomClass。它包含一个ui视图,其中包含一个ui开关和一个ui标签。 问题是,尽管我的CustomClass.swift中有@IBDesignable,但它并没有在InterfaceBui

我有一个
CustomClass.swift
和一个
CustomClass.xib
。我希望XCode的接口生成器使用提供的.xib文件呈现类
CustomClass
的视图。就像我运行应用程序时一样

我正在使用XCode8.3.2(8E2002)

斯威夫特 CustomClass.xib 文件所有者设置为
CustomClass
。它包含一个
ui视图
,其中包含一个
ui开关
和一个
ui标签

问题是,尽管我的
CustomClass.swift
中有
@IBDesignable
,但它并没有在InterfaceBuilder中呈现。我在那里放置了一个
ui视图
,并将其类设置为
CustomClass

如您所见,它甚至在inspector中显示可指定项:最新。但我什么也没看到

运行应用程序时,一切正常你为什么要这样做

self.addSubview(view)
view.frame = self.bounds
在将视图的框架作为子视图添加到其superview之前,应指定该框架

view.frame = self.bounds
self.addSubview(view)
我不知道为什么视图没有加载,即使您已将其指定为IBDesignable。我通常使用这些步骤进行故障排除

  • 关闭并重新打开Xcode
  • 干净Xcode
  • 等待一段时间,通常大约一分钟左右,您将看到视图刷新/更新本身,显示自定义绘制的内容

每个ibdesignable只能在故事板上渲染200毫秒,如果componet在200毫秒内渲染失败,则您将在“警告”选项卡(左第四个面板)中得到警告。没有警告。但是组件没有呈现。@Marmelador“在InterfaceBuilder中呈现”是什么意思?我希望XCode的Interface Builder使用提供的.xib文件呈现类
CustomClass
的视图。就像我运行应用程序时一样。你有没有弄明白这一点?如果是,你做了什么?
view.frame = self.bounds
self.addSubview(view)