【发布时间】:2017-06-06 13:06:22
【问题描述】:
我有一个CustomClass.swift 和一个CustomClass.xib。我希望 XCode 的 Interface Builder 使用提供的 .xib 文件呈现类 CustomClass 的视图。就像我运行应用程序时一样。
我正在使用 XCode 8.3.2 (8E2002)
CustomClass.swift
import UIKit
@IBDesignable class forceInterface: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
Bundle.main.loadNibNamed("forceInterface", owner: self, options: nil)
self.addSubview(view)
view.frame = self.bounds
}
@IBOutlet var view: UIView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var progressView: UIProgressView!
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
}
}
CustomClass.xib
文件所有者设置为CustomClass。它包含一个UIView,其中包含一个UISwitch 和一个UILabel。
问题是,尽管我的CustomClass.swift 中有@IBDesignable,但它并未在InterfaceBuilder 中呈现。我在那里放置一个UIView 并将其类设置为CustomClass:
如您所见,它甚至在检查器中显示 Designables: Up to date。但我什么也没看到。
运行应用时一切正常!
【问题讨论】:
-
每个 ibdesignable 只有 200 毫秒在情节提要上渲染它,如果组件在 200 毫秒内渲染失败,那么您将在警告选项卡(左侧第 4 个面板)中收到警告。
-
没有没有警告。然而组件没有渲染。
-
@Marmelador “在 InterfaceBuilder 中渲染”是什么意思
-
我希望 XCode 的 Interface Builder 使用提供的 .xib 文件呈现类
CustomClass的视图。就像我运行应用程序时一样。 -
你有没有想过这个问题?如果是这样,你做了什么?
标签: swift xcode uiview ibdesignable