,可以通过以下步骤实现:
以下是一个示例代码:
import UIKit
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var switchControl: UISwitch!
@IBOutlet weak var label: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
switchControl.addTarget(self, action: #selector(switchValueChanged), for: .valueChanged)
}
@objc func switchValueChanged() {
label.text = switchControl.isOn ? "开启" : "关闭"
}
}
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
tableView.register(UINib(nibName: "CustomTableViewCell", bundle: nil), forCellReuseIdentifier: "CustomCell")
}
// UITableViewDataSource methods
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! CustomTableViewCell
cell.label.text = cell.switchControl.isOn ? "开启" : "关闭"
return cell
}
// UITableViewDelegate methods
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 44
}
}
在上述示例代码中,我们创建了一个自定义的单元格类CustomTableViewCell
,其中包含了一个UISwitch和一个UILabel。在单元格类的awakeFromNib
方法中,我们为UISwitch添加了一个值改变事件的监听器,并在事件处理程序switchValueChanged
中更新关联的UILabel的文本。
在视图控制器ViewController
中,我们实现了UITableViewDataSource和UITableViewDelegate协议的方法,并在cellForRowAt
方法中设置了UISwitch和UILabel的初始值。通过这样的设置,当UISwitch的值发生改变时,对应的UILabel的文本也会相应地更新。
这样,当你在表格视图中切换UISwitch的值时,对应的UILabel的文本就会自动更新。
领取专属 10元无门槛券
手把手带您无忧上云