2016-07-05 2 views
0

Я столкнулся с логическими проблемами с StackView, и я знаю, где я должен искать ответы. Итак, у меня есть stackView, с 3 элеменями в нем, 2 ярлыка и индикатор выполнения, И я хочу, чтобы мой индикатор выполнения имел фиксированный размер, но теперь мой индикатор выполнения взял ширину самой большой метки. Я пытаюсь добавить ограничение ширины на нем, но если мой ярлык имеет текст длиннее ширины полосы выполнения, мой текст ярлыка заканчивается на «...»Добавить объект с определенной шириной в StackView

И я хочу, чтобы какой бы текст текста есть, мой индикатор прогресса имеет ВСЕГДА такая же ширина.

мой код:

myStackView.snp_makeConstraints { (make) -> Void in 
make.centerX.equalTo(myView) 
make.centerY.equalTo(myView) 
} 
myLabelAboveProgressBar.text = "aaaaaaaaaaaaaaaa" 
myStackView.addArrangedSubview(myLabelAboveProgressBar) 
myProgressBar.setPercentage(20, animted: false) 
myStackView.addArrangedSubview(myProgressBar) 
+0

По любым шансам, разве это не проблема с номеромOfLines метки, не установленной в 0? –

+0

Нет, у вас нет проблемы, ярлык не проблема, это индикатор выполнения, который является проблемой. –

+0

Я хочу, чтобы мой индикатор выполнения, независимо от текстовой метки, всегда имел одинаковую ширину. –

ответ

0

Я подозреваю, что выравнивание вашей точки зрения стека недобросовестный «заливки». Вы можете изменить это следующим образом:

myStackView.alignment = .Center 

... или что вы хотите, чтобы выравнивание быть таким, как ведущий, в конце, и т.д.

То же самое относится к распределению:

myStackView.distribution = .FillEqually 

...например. У вас также есть другие опции, такие как FillEqually, EqualSpacing и т. Д.

Вы также можете установить фиксированную ширину (или относительно размера экрана) для вашего представления стека, чтобы ваш макет был более предсказуемым. Похоже, что это масштабирование, чтобы соответствовать содержимому в данный момент.

+0

Я следил за вашими советами и попробуйте изменить некоторые свойства моего представления в стеке, но ни один из них не работает так, как я хочу. Если я создаю ограничение ведущего/конечного в моем стеке, это сократит текст ярлыка, и я не хочу этого. Я хочу только иметь небольшой индикатор выполнения моей метки, независимо от текста, и независимо от того, какой процент. Когда я устанавливаю выравнивание центра, индикатор выполнения не исчезает ... –

+0

Привет @ Крис жаль ответить вам сейчас. Я пробовал другое решение, в своем решении я создаю stackView, который содержит только progressBars, поэтому у меня есть 4 progressBars с одинаковой шириной, и я поместил метку выше вручную. Спасибо за ваш ответ! –

Смежные вопросы