не может изменить положение метки в Swift View View - PullRequest
0 голосов
/ 18 января 2019

Я хочу изменить позицию метки X внутри стека, также есть кнопка внутри стека. Однако я не могу изменить положение метки, так как после того, как я установил ограничения для метки, появляются ошибки и я хочу, чтобы я удалил ограничения. Может ли кто-нибудь помочь мне с этим? Спасибо! [Введите описание изображения здесь] [1]

1 Ответ

0 голосов
/ 18 января 2019

Это пример стека с кнопкой и меткой с изменениями позиции метки x.

import UIKit

class ViewController: UIViewController {

    let stackView = UIStackView()

    override func viewDidLoad() {
        super.viewDidLoad()

        stackView.axis = .vertical
        stackView.distribution = .equalSpacing
        stackView.alignment = .center

        view.addSubview(stackView)
        stackView.translatesAutoresizingMaskIntoConstraints = false
        stackView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
        stackView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
        stackView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
        stackView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true

        let button = UIButton()
        button.setTitle("Button", for: .normal)
        button.setTitleColor(UIColor.black, for: .normal)
        button.backgroundColor = UIColor.lightGray
        stackView.addArrangedSubview(button)
        button.translatesAutoresizingMaskIntoConstraints = false
        button.leftAnchor.constraint(equalTo: stackView.leftAnchor).isActive = true
        button.rightAnchor.constraint(equalTo: stackView.rightAnchor).isActive = true

        let label = UILabel()
        label.text = "Label"
        label.textColor = UIColor.black
        label.backgroundColor = UIColor.lightGray
        stackView.addArrangedSubview(label)
        label.translatesAutoresizingMaskIntoConstraints = false
        // Modify left/right anchor constraints for label x position
        label.leftAnchor.constraint(equalTo: stackView.leftAnchor, constant: 24).isActive = true
        label.rightAnchor.constraint(equalTo: stackView.rightAnchor).isActive = true
    }

}
...