Я думаю, что нашел крайний случай для sizeWithFont: constrainedToSize: где при отображении на сетчатке он иногда (кажется, основан на переносе слов) возвращает высоту на 1 строку выше, чем фактически необходимо, и что более важно, чемон на самом деле рисует.
ПРИМЕЧАНИЕ: реальный код, который я использую, скрыт внутри кода ячейки табличного представления с переменной высотой рисования, ориентированного на производительность, поэтому я решил проблему с использованием как можно более простого примера кода.,(Пожалуйста, примите это к сведению, когда пытаетесь ответить на что-то, кроме моего вопроса: -)
Этот образец UIView заполняет его содержимое, измеряет текст, чтобы соответствовать (обернутый), заполняет этот прямоугольник, затем рисует текст.
На устройстве сетчатки (или симуляторе) высота возвращается на 1 строку слишком высокой, но на устройстве до сетчатки (или симуляторе) она возвращает правильную высоту.
Я был бы очень признателен за любые идеи, которые есть у каждого, поскольку это ошибка, которую я хотел бы исправить!
Большое спасибо!
-eric
- (void)drawRect:(CGRect)rect {
NSString * theString = @"Lorem ipsum dolor sit ameyyet, consectetur adipiscing elit. Etiam vel justo leo. Curabitur porta, elit vel.";
UIFont * theFont = [UIFont systemFontOfSize:12];
CGSize theConstraint = CGSizeMake(rect.size.width - 20, rect.size.height - 20);
CGSize theResultSize = [theString sizeWithFont:theFont constrainedToSize:theConstraint];
// dump the measurements
NSLog(@"returned a size h = %f, w = %f", theResultSize.height, theResultSize.width);
// fill the whole rect
CGContextRef context = UIGraphicsGetCurrentContext();
[[UIColor yellowColor] set];
CGContextFillRect(context, rect);
// fill the measured rect
CGRect theRect = CGRectMake(10, 10, theResultSize.width, theResultSize.height);
context = UIGraphicsGetCurrentContext();
[[UIColor cyanColor] set];
CGContextFillRect(context, theRect);
// draw the text
[[UIColor blackColor] set];
[theString drawInRect:theRect withFont:theFont];
}
Весь простой проект доступен здесь .
Симулятор Изображения:
http://files.droplr.com/files/9979822/aLDJ.Screen%20shot%202011-01-11%20at%2012%3A34%3A34.png http://files.droplr.com/files/9979822/YpCM.Screen%20shot%202011-01-11%20at%2012%3A36%3A47.png