与自定义tableViewCell.xib Swift PickerView
问题描述:
我搞砸了与swift和我被困在与自定义TableViewCell.xib创建UIPickerView连接。我想要的功能如下:当我按开关按钮出现一个pickerView,让我选择一个月将出现,而不是“选择月”标签。我真的不知道我应该在哪里创建网点。与自定义tableViewCell.xib Swift PickerView
class TableViewCell: UITableViewCell {
@IBOutlet weak var leftImage: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var rightImage: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func commonInit(_ imageName1: String, _ imageName2: String, text: String){
leftImage.image = UIImage(named: imageName1)
rightImage.image = UIImage(named: imageName2)
label.text = text
}
}
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let textData = ["Select Month"]
let datePicker = UIDatePicker()
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.title = "UiTableView"
tableView.delegate = self
tableView.dataSource = self
let nibName = UINib(nibName: "TableViewCell", bundle: nil)
tableView.register(nibName, forCellReuseIdentifier: "tableViewCell")
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return textData.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "tableViewCell", for: indexPath) as! TableViewCell
cell.commonInit("facebook", "twitter", text: textData[indexPath.item])
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 170
}
func createDatePicker(){
let toolBar = UIToolbar()
toolBar.sizeToFit()
let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: nil)
toolBar.setItems([doneButton], animated: false)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
答
打开单元XIB文件并从菜单中,查看> Assistand编辑>显示助理编辑选择。一旦助手编辑器打开,您可以打开TableViewCell类。控制从“界面”构建器中的XIB中的3个控件拖动到文件中的相应条目。一旦超过了像@IBOutlet weak var leftImage:UIImageView!这样的条目,它会突出显示。释放鼠标并建立连接。
实际上,不要在类中首先输入带有插座声明的行,这样会更容易一些。在这种情况下,当您从ID控制拖动时,将鼠标放在空行上,出现一个对话框,您可以在其中声明插座。它同时创建连接。
我觉得我还不够清楚。我已经连接了2个图像视图和标签,但现在我想以某种方式将pickerView连接到标签和开关按钮,所以当我按下开关按钮时标签会根据pickerview进行更改。 – andino