Как мне сместить выравнивание текста UILabel? - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь сместить центральную начальную точку для UILabel.Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заставить текст метки расти из точки, которая смещена от центра, пока не достигнет одного конца метки.Затем я хочу, чтобы текст сдвигался на один символ влево с каждым дополнительным добавленным символом, пока не достигнет другого конца.Тогда было бы приемлемо для текста усечь с помощью эллипсов.

Пока мой код выглядит так, но я не знаю, куда идти.

    private let amountLabel: UILabel = {
        let label = UILabel()
        label.textColor = .blue
        label.textAlignment = .center
        label.translatesAutoresizingMaskIntoConstraints = false
        return label
    }()

enter image description here

1 Ответ

0 голосов
/ 01 марта 2019

Я предлагаю вам поместить UILabel в вид контейнера, отцентрировать его по горизонтали с нужным смещением, но установить его приоритет ниже, чем сопротивление сжатию. Например, 750, сопротивление сжатию 999. Затем создайте конечное ограничение> = сприоритет 1000 и ведущее ограничение> = приоритет 1000. Таким образом, центрирование будет самым слабым ограничением, и по мере роста текста оно будет сдвигаться влево до достижения ведущего.

enter image description here

enter image description here enter image description here enter image description here

...