Как получить высоту для NSAttributedString при фиксированной ширине
Я хочу нарисовать NSAttributedStrings в полях фиксированной ширины, но у меня возникают проблемы с вычислением правильной высоты, которую они будут поднимать при рисовании. Пока что я пробовал:
призвание- (NSSize) size
, но результаты бесполезны (для этой цели), так как они дадут любую ширину, какую пожелает строка.
призвание- (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options
с прямоугольной формы на ширину, я хочу иNSStringDrawingUsesLineFragmentOrigin
в опциях, точно так же, как я использую в моем рисунке. Результаты ... трудно понять; конечно не то, что я ищу. (Как указано в ряде мест, в том числеэтот Какао-нить).
Создание временного NSTextView и выполнение:[[tmpView textStorage] setAttributedString:aString];<br>[tmpView setHorizontallyResizable:NO];<br>[tmpView sizeToFit];
Когда я запрашиваю фрейм tmpView, ширина остается желаемой, а высота часто правильной ... пока я не получу более длинные строки, когда это часто вдвое меньше требуемого размера. (Кажется, что максимальный размер не ударил: один кадр будет иметь высоту 273,0 (около 300 слишком коротко), а другой - 478,0 (только 60-кратный слишком короткий)).
Буду признателен за любые указания, если кто-то еще справился с этим.