我有一个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