У меня есть Uitextview, который заполнен текстовым файлом. У меня есть элемент управления на странице, который позволяет пользователю включать и отключать пейджинг. У меня проблема, когда верхняя и/или нижняя строка текста иногда «разделяются пополам», поэтому вы можете видеть только верхнюю или нижнюю половину строки. Я считаю, что приведенный ниже код должен исправить это. Код получает высоту строки текста и высоту кадра, определяет количество строк, которые видны на экране, и создает новую высоту кадра, чтобы она соответствовала. В то время как размер кадра изменяется, он все же «отсекает» верхнюю и/или нижнюю строку. У кого-нибудь есть предложения? Я ошибаюсь в своей математике?iphone UitextView Текст отключен
Спасибо !!!
- (void)fitText
{
CGFloat maximumLabelHeight = 338;
CGFloat minimumLabelHeight = 280;
CGSize lineSize = [theUiTextView.text sizeWithFont:theUiTextView.font];
CGFloat lineSizeHeight = lineSize.height;
CGFloat theNumberOfLinesThatShow = theUiTextView.frame.size.height/lineSize.height;
//adjust the label the the new height
theNumberOfLinesThatShow = round(theNumberOfLinesThatShow);
CGFloat theNewHeight = lineSizeHeight * theNumberOfLinesThatShow;
if (theNewHeight > maximumLabelHeight)
{
theNumberOfLinesThatShow = theNumberOfLinesThatShow - 1;
theNewHeight = lineSizeHeight * theNumberOfLinesThatShow;
}
if (theNewHeight < minimumLabelHeight)
{
theNumberOfLinesThatShow = theNumberOfLinesThatShow + 1;
theNewHeight = lineSizeHeight * theNumberOfLinesThatShow;
}
//adjust the label the the new height.
CGRect newFrame = theUiTextView.frame;
newFrame.size.height = theNewHeight;
theUiTextView.frame = newFrame;
}