Горизонтальный Stackview элементы выравнивания по левому краю - PullRequest
0 голосов
/ 25 августа 2018

Я создаю горизонтальный UIStackView и хочу выравнивать элементы в нем по левому краю.Вот мой код:

let nameLabel: UILabel = {
    let label=UILabel()
    label.text = "First Name:"
    label.textColor = UIColor.black
    label.font = UIFont.systemFont(ofSize: 20)
    label.textAlignment = .left
    label.translatesAutoresizingMaskIntoConstraints=false
    return label
}()

let nameTextField: UITextField = {
    let label=UITextField()
    label.placeholder = "Enter Name"
    label.textColor = UIColor.darkGray
    label.font = UIFont.systemFont(ofSize: 18)
    label.textAlignment = .left
    label.isUserInteractionEnabled = false
    label.translatesAutoresizingMaskIntoConstraints=false
    return label
}()

lazy var firstNameView: UIStackView = {
    let stackView = UIStackView(arrangedSubviews: [self.nameLabel, self.nameTextField])
    stackView.translatesAutoresizingMaskIntoConstraints = false;
    stackView.axis = .horizontal
    stackView.distribution = .fill
    stackView.alignment = .center
    stackView.spacing = 10.0
    return stackView
}()

А вот как я добавляю его в представление

self.view.addSubview(firstNameView)

firstNameView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor).isActive = true;
    firstNameView.topAnchor.constraint(equalTo: idLabel.bottomAnchor).isActive = true;
    firstNameView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor).isActive = true
    firstNameView.heightAnchor.constraint(equalToConstant: 40.0).isActive = true

Я также попробовал следующее:

firstNameView.trailingAnchor.constraint(greaterThanOrEqualTo: self.view.trailingAnchor).isActive = true

PS:Этот вопрос отличается от UIStackview выравнивание по левому краю , поскольку я говорю о горизонтальном просмотре стека

По этой ссылке Выровненный по левому краю горизонтальный просмотр стека и выровненный по вертикали вертикальный просмотр стека Есть ли альтернатива?Я действительно не хочу устанавливать фиксированную ширину.

1 Ответ

0 голосов
/ 25 августа 2018

Оберните ваши метки в UIViews и прикрепите метки слева от этих представлений.Поместите представления в представление стека, и они заполнят представление стека, не манипулируя надписями.

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