NSString drawinrect не заполняет весь прямоугольник - PullRequest
0 голосов
/ 12 марта 2011

У меня проблема с методом NSString drawInRect. У меня очень большой текст, который нужно закрасить поверх Rect размером 768x1024, и я получаю это:

Текст изображения на экране http://img37.imageshack.us/img37/6247/capturadepantalla201103t.png

Как видите, единственная текстовая строка, которая достигает всего экрана, является последней, я не знаю, почему другие строки этого не делают. Это мой код:

//The drawing rectangle
CGRect textRect = CGRectMake(1, 4, 768, 1024);
[[UIColor blackColor] set];
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
//texto_completo is a very large text String
[texto_completo drawInRect:textRect withFont:font lineBreakMode:UILineBreakModeCharacterWrap     alignment:UITextAlignmentLeft];
CGImageRef cgImage = CGBitmapContextCreateImage(context); 
UIImage *img_con_texto = [[UIImage alloc] initWithCGImage:cgImage];
UIGraphicsPopContext();
CGContextRelease(context);
CGImageRelease(cgImage);

Не могли бы вы помочь мне понять это поведение?

1 Ответ

0 голосов
/ 13 марта 2011

Похоже, что алгоритм APple слишком агрессивен.

Лучшее решение - установить выравнивание на UITextAlignmentCenter, то есть единственный способ добиться правильного выравнивания символов сверху.В моем тесте разрывы извести были такими же, как с выравниванием UITextAlignmentLeft.

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