【发布时间】:2016-10-02 12:15:56
【问题描述】:
我正在尝试创建完美的解决方案,以直接从代码和 Storyboard 中创建自定义 UIView 子类。但是,我没有找到任何解决方案。
对于通过情节提要的IBDesignable 解决方案,我遵循了这个示例http://supereasyapps.com/blog/2014/12/15/create-an-ibdesignable-uiview-subclass-with-code-from-an-xib-file-in-xcode-6 并且效果很好。
但是如果我尝试通过UIViewController调用这个扩展方法来调用这个子类:
extension UIView {
class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIView? {
return UINib(
nibName: nibNamed,
bundle: bundle
).instantiateWithOwner(nil, options: nil)[0] as? UIView
}
}
它崩溃并说错过了this class is not key value coding-compliant for the key。
有没有人找到解决方案与我分享两种可能性?
我需要它,因为我应该在情节提要中使用这个 UIView 以及 UITableview SectionHeader
【问题讨论】:
-
您需要了解 swift 类可用于情节提要和 xib 文件。但是每次要使用它时都需要在情节提要上重新设计它。由于您想将此视图用作 UITableView 的标题,因此有一种方法可以仅使用 xibs 来执行此操作。看看这个线程希望它会帮助你。 stackoverflow.com/questions/31693901/…
-
所以你的意思是我不能创建一个 xib 文件并将其用于情节提要或通过 NSBundle.mainBundle() 在视图控制器中实例化它?
-
请看下面我的回答。
标签: ios swift storyboard