在UITableViewCell中添加一个带有按钮的TextView可以通过以下步骤实现:
class CustomTableViewCell: UITableViewCell {
var textView: UITextView!
var button: UIButton!
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
textView = UITextView(frame: CGRect(x: 10, y: 10, width: 200, height: 100))
contentView.addSubview(textView)
button = UIButton(type: .system)
button.frame = CGRect(x: 220, y: 10, width: 100, height: 30)
button.setTitle("Button", for: .normal)
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
contentView.addSubview(button)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func buttonTapped() {
// Perform button action
}
}
class ViewController: UIViewController, UITableViewDataSource {
let tableView = UITableView(frame: CGRect(x: 0, y: 0, width: 300, height: 500), style: .plain)
let cellReuseIdentifier = "cellReuseIdentifier"
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.register(CustomTableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)
view.addSubview(tableView)
}
// MARK: - UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath) as! CustomTableViewCell
// Configure cell data
cell.textView.text = "Text for cell \(indexPath.row + 1)"
return cell
}
}
通过上述代码,我们创建了一个包含UITextView和UIButton的UITableViewCell子类CustomTableViewCell,并在UITableView的数据源方法中使用该自定义单元格。
这样,每个单元格都会包含一个带有按钮的TextView,可以在按钮的动作方法buttonTapped()中执行相应的操作,如弹出对话框、更新数据等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云