У меня проблема при динамической установке высоты надписи - PullRequest
1 голос
/ 14 декабря 2010

Я устанавливаю высоту ячеек tableView динамически в соответствии с высотой надписей и высотой надписей в соответствии с текстом.Он работает нормально, когда я дал текст с пробелами (например, это вопрос для stackoverflow).Но когда я ввожу текст длиной в две строки без пробелов (напр., Это вопрос для стека-переполнения).Он занимает две строки, а текст начинается со второй строки и обрезается в конце. Он занимает первую строку, полный пробел и вторую строку, как (ThisisQuestionfor .....).

Я использую методы

  • + (с плавающей запятой) CalcuHeightOfTextFromWidth: (NSString *) текст: (UIFont *) с) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath

В cellForRowAtIndexPath

float productNameHeight = [DetailsViewController calculateHeightOfTextFromWidth:warObj1.productName :valueFont : valueWidth :UILineBreakModeWordWrap];
UILabel *productNameValue = [[UILabel alloc] initWithFrame:CGRectMake(xCoordinateStartLocatioForValue,yCoordinateStartLocation,valueWidth,productNameHeight)];

Можете ли вы помочь мне быстро. Спасибо заранее

Ответы [ 2 ]

0 голосов
/ 14 декабря 2010

Если в вашем тексте нет пробелов, обязательно используйте UILineBreakModeCharacterWrap или UILineBreakModeClip при расчете размера UILabel и для свойства lineBreakMode самой UILabel.

0 голосов
/ 14 декабря 2010

Каков режим разрыва строки для метки и сколько строк вы разрешаете ему иметь?

Возможно, вы корректно устанавливаете высоту метки, но затем предлагаете нарисовать весь текст на одной строке:)

Вы должны убедиться, что количество строк в метке равно 0 (что означает столько, сколько необходимо), а режим разрыва строки установлен на разрыв символа.(Звучит так, будто в данный момент установлено окончание усечения).

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