【发布时间】:2015-08-26 01:37:38
【问题描述】:
这是与this 类似的问题,但不完全相同。
我创建了一个 UITableViewCell 的子类,它引用了一个自定义笔尖并将其标记为 @IBDesignable。在代码和 .xib 文件中所做的更改在模拟器和设备上正确显示,但在情节提要中不显示。
import UIKit
@IBDesignable class TextFieldTableViewCell: UITableViewCell {
var view: UIView!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setup()
}
func setup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
contentView.addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "TextFieldTableView", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
}
情节提要显示永久的“Designables Updating”。
将问题分解为一个不太复杂的测试,即仅对 UITableViewCell 进行子类化并将其标记为 @IBDesignable 会导致相同的永久“Designables Updating”。
import UIKit
@IBDesignable class TextFieldTableViewCell: UITableViewCell {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
}
有没有人成功创建了@IBDesignable UITableViewCell 子类?这发生在 Xcode 7 beta 6 和 beta 5 中。
【问题讨论】:
-
我面临同样的问题。但是当我把 tableViewCell 放在一个普通的 ViewController 中时,我可以做 IBDesignable。所以,我认为这是一个 XCode 错误,无法在 TableView 中设计单元格
-
Apple 已经回复了我提交的错误报告,这确实是一个错误。
-
谢谢,帮了大忙
-
我正在使用 Xcode 9 GM。它没有这个问题。
标签: ios xcode swift storyboard ibdesignable