我想在自定义UITableViewCell中创建具有n个UITextField的注册表单

时间:2019-03-27 09:41:30

标签: swift

我正在创建一个UITableViewCell,它可以显示n个UITextfields。请建议我如何声明这些文本字段。还要提到如何为其实现cellForRowAt函数。

在这里保存我的UITableViewCell文件

import UIKit

class CustomTableViewCell: UITableViewCell, UITextFieldDelegate {

    @IBOutlet weak var textlab: UITextField!

    func configure(text: String?, placeholder: String) {
        textlab.text = text
        textlab.placeholder = placeholder
        textlab.accessibilityValue = text
        textlab.accessibilityLabel = placeholder
    }

    @IBOutlet weak var underlineLabel: UILabel!

    @IBOutlet weak var AlertMessage: UILabel!

    override func awakeFromNib() {            
        super.awakeFromNib()            
        // Initialization code            
    }
}

它的视图控制器如下:

import UIKit

class CustomViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

    var blanklabel = ["","","",""]
    var textfields = ["First Name","Last Name","Email","Contact Number"]
    var alertmsg   = ["Please enter your First Name","Please enter your Last Name","Please enter your Email","Please enter your Contact number",]
    var textfield = UITextField()
    var AlertMessage = UILabel()

    @IBAction func nextLabel(_ sender: Any) {

    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }


    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
      return 4
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomTableViewCell

        return cell

    }
    func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? {
        return nil
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 50
    }    
}

1 个答案:

答案 0 :(得分:0)

在带有动态单元格的UITableView中执行此操作不是一个好主意。尝试在具有静态单元格的UIStackView或UITableView中使用自定义视图(将单元格类更改为UIView的子类)。并将uitextfields设置为视图控制器中的属性。