1

I want to change X position of a label inside a stackview, there is a button inside the stackview as well. However, I am not able to change the label's position as once I set constraints for the label, errors jump out and want me to delete the constraints.

Nimantha
  • 6,405
  • 6
  • 28
  • 69
yihan
  • 29
  • 1
  • 4
  • There is absolutely anyway that anyone can help you if you don't show anything. Read your question from the perspective of someone that knows nothing about your project. Add enough information that there is something to work off of. – Jordan Soltman Jan 18 '19 at 01:24
  • Give us a screenshot of your layout interface or share how you are adding views into your stackview. – Mocha Jan 18 '19 at 01:42

1 Answers1

0

This is an example of a stackview with a button and a label with changes to the label's x position.

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
    }

}
Mocha
  • 2,035
  • 12
  • 29