установка динамической координаты x второй метки в цели xcode c - PullRequest
0 голосов
/ 20 июля 2010

У меня проблема с тем, что у меня есть две этикетки,

1) будет содержать длинный текст 2) это будет просто кнопка «Далее» (ссылка)

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

текст первого ряда «это текст первой метки» «больше»

текст второй строки «лучший тест» «больше»

в этом примере строки имеют табличное представление, а две метки разделены знаком ", поэтому я хочу, чтобы вторая метка начиналась с того места, где заканчивается текст первой метки

с нетерпением ждем решения

Спасибо и С уважением!

1 Ответ

3 голосов
/ 20 июля 2010

NSString имеет несколько методов для вычисления его размера при отображении с использованием заданного шрифта (например, метод sizeWithFont:) - вы можете использовать его, чтобы определить ширину текста и соответственно разместить вашу дополнительную кнопку (некоторые параметры ZZZZ должны быть доступны во время выполнения):

CGFloat firstLabelWidth = [firstLabel.text sizeWithFont:firstLabel.font].width;
CGFloat moreX = firstLabel.frame.origin.x + firstLabelWidth + someGap;
moreButton.frame = CGRectMake(moreX, moreY, someWidth, someHeight);

Может потребоваться добавить проверку для случаев, когда текст в первой метке слишком длинный, чтобы уместиться на экране и т. Д., Но в целом этот код должен работать.

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