我尝试定制一个名为dDocCommonSearchBar
的类,该类继承自UIView
。它具有属性delegate:dDocCommonSearchBarProtocol
。 dDocCommonSearchBarProtocol
是@objc
协议。 dDocCommonSearchBar
不能从代码实例化,只能从xib实例化。
class dDocCommonSearchBar:UIView {
private lazy var paddingV:UIView = UIView()
private lazy var textF:UITextField = UITextField()
private lazy var imageV:UIImageView = {
let view = UIImageView()
view.contentMode = UIView.ContentMode.scaleAspectFill
view.image = UIImage(named: "searchBar_search")
return view
}()
weak var delegate:dDocCommonSearchBarProtocol?
override init(frame: CGRect) {
super.init(frame: frame)
self.setUp()
}
init() {
super.init(frame: CGRect.zero)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.setUp()
}
func textFbecomeFirstResponder() {
self.textF.becomeFirstResponder()
}
}
@objc protocol dDocCommonSearchBarProtocol:NSObjectProtocol {
@objc optional func dDocCommonSearchBarShouldBeginEditing(_ searchBar: dDocCommonSearchBar) -> Bool
}
在下面的类中,我得到错误:
使用未解决的标识符“ dDocCommonSearchBar”
在线:
let view = dDocCommonSearchBar(frame:CGRect.zero
class dDocHomeSearchVC:dDocCommonSearchBarProtocol {
lazy var searchBar:dDocCommonSearchBar = {
// Error on next line: Use of unresolved identifier 'dDocCommonSearchBar'
let view = dDocCommonSearchBar(frame:CGRect.zero)
return view
}()
lazy var searchBar:dDocCommonSearchBar = {
let headerV =
Bundle.main.loadNibNamed("xxxxxx", owner: nil, options: nil)?[0]
let he = headerV as! dDocCommonSearchBar
return he
}()
}