Отсутствуют ограничения IOS 11 Swift 4

Я пытаюсь добавить ограничения между двумя элементами управления: TextField и Separator. Но я не вижу разделитель. Что не так в этом коде?

func setupTextField() {
    textField =  UITextField(frame: CGRect(x: 0, y: 0, width: 97, height: 30))
    textField!.backgroundColor = .clear
    textField!.placeholder = placeHolder

    self.addSubview(textField!)

    //MARK: Constraints

    textField!.translatesAutoresizingMaskIntoConstraints = false;
    textField!.topAnchor.constraint(equalTo: self.topAnchor).isActive = true
    textField!.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true
    textField!.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true
}

func setupSeparator() {
    separator = UIView(frame: CGRect(x: 0, y: 32, width: 97, height: 1))
    separator?.backgroundColor = .lightGray

    self.addSubview(separator!)

    separator!.translatesAutoresizingMaskIntoConstraints = false;
    separator!.topAnchor.constraint(equalTo: textField!.bottomAnchor, constant: 1).isActive = true
    separator!.leftAnchor.constraint(equalTo: textField!.leftAnchor).isActive = true
    separator!.rightAnchor.constraint(equalTo: textField!.rightAnchor).isActive = true
}

1 ответ

Решение

Вам нужно добавить ограничение высоты к вашему разделителю, иначе оно будет уменьшено до нулевой высоты, поэтому вы его не видите. Добавьте что-то вроде следующего к вашему setupSeparator метод:

separator!.heightAnchor.constraint(equalToConstant: 1).isActive = true
Другие вопросы по тегам