В приведенном ниже коде CTFramesetterSuggestFrameSizeWithConstraints
иногда возвращает CGSize
с высотой, которая недостаточно велика, чтобы содержать весь текст, который передается в нее. Я посмотрел этот ответ. Но в моем случае ширина текстового поля должна быть постоянной. Есть ли другой/лучший способ определить правильную высоту для моей атрибутной строки? Спасибо!
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attributedString);
CGSize tmpSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0,0), NULL, CGSizeMake(self.view.bounds.size.width, CGFLOAT_MAX), NULL);
CGSize textBoxSize = CGSizeMake((int)tmpSize.width + 1, (int)tmpSize.height + 1);