2014-11-12 2 views
0

Я немного озадачен некоторыми вещами, которые я пытаюсь настроить с помощью автоматической компоновки.Вопросы автомакета для калибровки UILabel (проект прилагается)

Вот что у меня есть. Как вы можете видеть, я пытаюсь реализовать что-то похожее на Message.app. Я сделал тестовый/демонстрационный проект очень похожим, чтобы объяснить это немного легче.

Вот проект: https://github.com/runmad/MessagingApp

enter image description here

Я пытаюсь достичь несколько вещей:

• Используйте Auto Layout для самостоятельной калибровки ячеек: я установить это не проблема, поскольку она в значительной степени предоставляется бесплатно.

• Добавить вставку между рамой лейла и его текст: я под это было возможно с помощью layoutMargins (http://carpeaqua.com/2014/07/24/auto-layout-in-ios-8-layout-margins/), но у меня нет в состоянии сделать это.

• Размер этикетки для текста ИЛИ максимальной ширины 60%, то contentView: Я был в состоянии сделать это для серых сообщений выше (за исключением, может быть, не первый серым?), Но у меня есть не удалось исправить размер, чтобы синие («отправленные») сообщения составляли не более 60% от ширины ячейки contentView.

Я ориентируюсь на iOS 8.0, поэтому для layoutMargins это должно быть ОК. Я также использую Storyboard и Auto Layout в IB.

Любая помощь и понимание очень ценятся!

+0

Непонятно, что вы пытаетесь сделать. Вы хотите, чтобы текст шел только на 60% пути к правому краю метки? Вы хотите, чтобы он начинался с левого края или вставки с обоих краев? – rdelmar

+0

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

ответ

0

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

enter image description here

+0

Ах, отлично! Благодаря! – runmad

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