2013-04-02 3 views
1

У меня есть 3 UILabels, нарисованные в раскадровке, расположенной друг на друге.вертикально центр UILabel между двумя другими таблицами

Статический UI Метка 1

Динамический пользовательский интерфейс Метка 2

Статический интерфейс Этикетка 3

Этикетки 1 и 3 являются статическими и никогда не меняются. Ярлык 2 является динамическим и всегда имеет одно предложение, но может быть короткое или длинное предложение, которое обертывается. Я хочу, чтобы метка 2 была идеально вертикально центрирована между меткой 1 и меткой 3 в зависимости от количества текста. Есть идеи, как это сделать? Очень ценим!

+0

ярлык2 - 1 линия длинный? –

+0

идеально по центру? Или вы хотите, чтобы они располагались вертикально? – nielsbot

ответ

1

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

+0

Звучит здорово. Я попробую сегодня вечером и дам вам знать. –

1

Добавьте значения центра по Label1 и LABEL3, Разделить его на 2 и сделать его центром Метка2

CGPoint point = CGPointMake(Label2.Center.x,(Label1.center.y+Label3.center.y)/2); 
Label2.center = point; 

Это все ....

+0

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

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