Я хочу создать форму регистрации с n номером UITextFields в пользовательском UITableViewCell - PullRequest
0 голосов
/ 27 марта 2019

Я создаю UITableViewCell, который может отображать n чисел UITextfields. Пожалуйста, предложите мне, как объявить эти текстовые поля. А также упомяните, как реализовать для него функцию cellForRowAt. * ​​1003 *

Вот мой 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 голосов
/ 27 марта 2019

Не очень хорошая идея делать это в UITableView с динамическими ячейками.Попробуйте использовать пользовательское представление (измените свой класс ячеек на подкласс UIView) в UIStackView или UITableView со статическими ячейками.И установите uitextfields как свойства в вашем viewcontroller.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...