Ограничения для индикатора выполнения и метки вместе в IOS Swift - PullRequest
0 голосов
/ 11 апреля 2019

Мне нужно показать индикатор выполнения и метку, расположенную рядом друг с другом по горизонтали на основе некоторого условия и на основе другого условия, мне нужно показать метку и индикатор выполнения один под другим по вертикали. Третье условие - я скрываю метку и показываю только индикатор выполнения. Что касается третьего условия, я хочу, чтобы индикатор выполнения занимал всю ширину экрана - некоторое пространство с обеих сторон. Сначала я установил ограничения, чтобы показать их рядом, и это сработало. Тем не менее, для двух других условий, когда я пытаюсь изменить существующие ограничения во время выполнения, он не работает должным образом. Любые указатели на то, как должны выглядеть ограничения для этих сценариев. Прикрепленное изображение индикатора выполнения и метки рядом enter image description here

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Добавьте горизонтальный UIStackview и добавьте UIProgressView и UILabel. Установить выравнивание текста метки по центру.

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

Изменить конфигурацию стека как

enter image description here

И измените стили, изменив ось стека и скрыв / отобразив метку следующим образом

@IBAction func style1(_ sender: Any) {
    stackView.axis = .horizontal
    stackView.alignment = .center
    label.isHidden = false
}
@IBAction func style2(_ sender: Any) {
    stackView.axis = .vertical
    stackView.alignment = .fill
    label.isHidden = false
}
@IBAction func style3(_ sender: Any) {
    stackView.axis = .horizontal
    stackView.alignment = .center
    label.isHidden = true
}

enter image description here

0 голосов
/ 11 апреля 2019

Мне нужно показать индикатор выполнения и метку, расположенную рядом друг с другом по горизонтали на основе некоторого условия и на основе другого условия

Для этой цели

Прогрессбарные ограничения

enter image description here

Ограничения метки

enter image description here

Iнужно показывать метку и индикатор выполнения один под другим вертикально

Для этой цели

Ограничения индикатора выполнения

enter image description here

Ограничения метки

enter image description here

Третье условие - я скрываю метку и показываю только индикатор выполнения.Что касается третьего условия, я хочу, чтобы индикатор выполнения занимал всю ширину экрана - какое-то место по обе стороны от него

Это немного сложно, но не намного сложнее. Установите ограничения в соответствии с нашим первымпроблема, и добавьте одно дополнительное ограничение вместе с другими, Trailing Space для суперпредставления, Stroyboard покажет вам ошибку, не волнуйтесь.Создайте выход для конечного пространства Progressbar, оба ограничения теперь в вашем файле Swift / objc, а во время выполнения активируйте одно ограничение и деактивируйте другое в соответствии с вашей логикой.Наряду с показом / сокрытием вашего ярлыка.Как это

    NSLayoutConstraint.isActive = false; // or true. Here NSLayoutConstraint is your reference to constraint outlet.
...