[英]Instantiating UIView from xib/nib using Swift
尝试按以下方式调用此函数时,收到错误的Ambiguous reference to member 'TimelineSectionHeaderView'
:
if let view = TimelineSectionHeaderView.instantiateFromNib() {
return view
}
我在这里做错了什么?
import UIKit
class TimelineSectionHeaderView: UIView {
@IBOutlet weak var dayLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
class func instantiateFromNib() -> TimelineSectionHeaderView? {
let x = UINib(nibName: "timelineSectionHeader", bundle: nil).instantiate(withOwner: nil, options: nil).first as? TimelineSectionHeaderView
print(x ?? "no value")
return x
}
}
您需要在下面删除此行:-
if let view = TimelineSectionHeaderView.instantiateFromNib() {
return view
}
创建一个这样的实例方法:
func instantiateFromNib() -> TimelineSectionHeaderView? {
let x = UINib(nibName: "timelineSectionHeader", bundle: nil).instantiate(withOwner: nil, options: nil).first as? TimelineSectionHeaderView
print(x ?? "no value")
return x
}
现在在您的ViewController中,您可能已经使用该outlet
变量创建了TimelineSectionHeaderView
outlet
,然后像这样调用它:
if let view = timelineViewInstanceVariable.instantiateFromNib() {
return view
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.