0

我在用 swift 搞乱,我被困在使用自定义 TableViewCell.xib 创建 UIPickerView 连接。我想要的功能如下:当我按下开关按钮时,会出现一个pickerView,让我选择一个将出现的月份,而不是“选择月份”标签。我真的不明白我应该在哪里创建网点。

单元格Xib

主要故事板

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.
}

}

4

1 回答 1

0

打开 Cell Xib 文件并从菜单中选择 View>Assisstand Editor>Show Assistant Editor。助理编辑器打开后,您可以打开 TableViewCell 类。控件 从界面构建器中的 XIB 中的 3 个控件拖动到文件中的相应条目。一旦通过诸如@IBOutlet weak var leftImage: UIImageView! 之类的条目,它将突出显示。松开鼠标,连接将建立。

实际上,先在类中不键入带有出口声明的行要容易一些。在这种情况下,当您控制从 ID 拖动时,您将鼠标放在空行上,然后会出现一个对话框,您可以在其中声明插座。它同时创建连接。

于 2017-05-15T22:28:25.613 回答