UITextFiled в UIStackView не отвечает - PullRequest
0 голосов
/ 21 февраля 2019

Мне нужно динамически создать представление стека с несколькими представлениями, поскольку число представлений известно только во время выполнения.

Каждое представление содержит UITextField

class AccountParameterView: UIView {

    public var inputField = UITextField()

        private struct InputFieldParam {
        static let x: CGFloat = 0
        static let y: CGFloat = 50
        static let height: CGFloat = 20
    }

    override init(frame: CGRect){
        super.init(frame: frame)
    }

    convenience init(frame: CGRect, with field: Field){

        self.init(frame: frame)
        self.field = field
        loadElements()
    }


    required init?(coder aDecoder: NSCoder){
        super.init(coder: aDecoder)
        loadElements()
    }

    // Programmatically put the different element in the view
    func loadElements() {

        // shows the input field
        inputField.frame =  CGRect(x: InputFieldParam.x,
                                   y: InputFieldParam.y,
                                   width: frame.width,
                                   height: InputFieldParam.height)

      }

На мой взглядконтроллер Я создал stackView и добавил несколько AccountParameterView:

    func addStackView(){

        for field in MyList!.fields{
            if field.type != FieldType.list{
                // position of the views
                let viewFrame = CGRect(x: ViewConst.x,
                                       y: view.frame.height - ViewConst.vertOffset,
                                       width: view.frame.width,
                                       height: ViewConst.height)
                let myView = AccountParameterView(frame: viewFrame, with: field)

                ParamViews.append(myView)
            }
        }

        let stackView = getStackView()
        for view in ParamViews {
            stackView.addArrangedSubview(view)
        }
        self.view.addSubview(stackView)
    }

Я вызываю эту функцию в моем viewDidLoad.Все отображается на экране правильно, но невозможно сфокусироваться на любом из UITextField s.Я пытался сделать контроллер представления делегатом каждого UITextField, но ничего не изменилось, UITextField остается недоступным

...