我有一個xib文件,其中包含一個視圖,連接到名爲InputView
的UIView。我有InputView
的幾個子類,例如NameInput
和DateInput
。我使用的是swift,我想使用連接到InputView
的xib文件中的視圖實例化NameInput
對象。我不想在xib文件中創建更多視圖,因爲InputView
的每個子類都是相同的。從本質上講,我問我如何使用一個xib文件與一個視圖與該視圖的許多子類。一個XIB查看多個子類
這應該返回一個DateInput
對象。
class func make(label: String, placeholder: String, format: String) -> DateInput {
let input = InputView.make() as DateInput
input.label.text = label
input.valueField.placeholder = placeholder
input.format = format
input.valueField.inputView = KeyboardView(subview: input.datePicker, appearance: .Dark)
input.datePicker.addTarget(input, action: "setDate", forControlEvents: .ValueChanged)
return input
}
而這應該返回一個普通的InputView
對象。
class func make() -> InputView {
let view = NSBundle.mainBundle().loadNibNamed("InputView", owner: nil, options: nil)[0] as InputView
view.valueField.delegate = view
return view
}
出於好奇,這樣做的目的是什麼?通常,視圖與支持視圖的類強相關。你想用子類來實現什麼? – tng 2015-02-09 19:45:19
子類都具有相同的視圖,但具有不同的功能。 – jamespick 2015-02-09 21:07:22