Как я могу показать строку в 2/3 строки с libharu на iOS?
У меня есть строка, которая длиннее ширины места, где она должна появляться. Что я хочу сделать, это показать строку в 2 или 3 строки.
Мой код выглядит следующим образом:
for (int i=0; i<claimsCount; i++)
{
File_Claim *fileClaim = [claimsArray objectAtIndex:i];
[self checkCreateNewPage:font:10.0];
///////////////////////////////////////////////////////////////////////////////////////
// if the current category is the same as the previous one then don't write it again
///////////////////////////////////////////////////////////////////////////////////////
if ([subcategory isEqualToString:fileClaim.subCategoryName])
{
}
else
{
// hold the old category to check if it is the same
subcategory = fileClaim.subCategoryName;
//HPDF_Page_SetRGBFill (_currentPage, 0, 0, 1);
posY -= PDF_SPACER_Y;
HPDF_Page_TextOut(_currentPage, PDF_BASE_DATA_LABELS_START_X, posY, [fileClaim.subCategoryName cStringUsingEncoding:NSWindowsCP1252StringEncoding]);
}
//HPDF_Page_SetRGBFill (_currentPage, 0, 0, 0);
posY -= PDF_SPACER_Y;
HPDF_Page_TextOut(_currentPage, PDF_BASE_DATA_LABELS_START_X+15, posY, [fileClaim.name cStringUsingEncoding:NSWindowsCP1252StringEncoding]);
HPDF_Page_TextOut(_currentPage, [self alignRightNumberX:fileClaim.unitPrice:260], posY, [[NSString stringWithFormat:@"%.2f €",fileClaim.unitPrice] cStringUsingEncoding:NSWindowsCP1252StringEncoding]);
HPDF_Page_TextOut(_currentPage, 320, posY, [[fileClaim getCalcString] cStringUsingEncoding:NSWindowsCP1252StringEncoding]);
HPDF_Page_TextOut(_currentPage, [self alignRightNumberX:fileClaim.totalPrice:483], posY, [[NSString stringWithFormat:@"%.2f €",fileClaim.totalPrice] cStringUsingEncoding:NSWindowsCP1252StringEncoding]);
}
И часть, где я положил свой текст:
HPDF_Page_TextOut(_currentPage, PDF_BASE_DATA_LABELS_START_X+15, posY, [fileClaim.name cStringUsingEncoding:NSWindowsCP1252StringEncoding]);
Теперь это должно состоять из 2 или 3 строк вместо 1. И я не могу понять, как это сделать.
Заранее спасибо,
Lewion
1 ответ
Решение
Я использую LibHaru уже несколько дней, и я столкнулся с тем же вопросом... Я начал писать свою собственную функцию C для работы с переносами строк и поддержкой нескольких строк; а потом сегодня я узнал, что HPDF_Page_TextRect()
на самом деле может сделать работу за вас!:)
Он автоматически обернет слова в мультилинии в области, определенной прямоугольником, а также вернет количество написанных символов...