J'ai une Uitextview qui est remplie avec un fichier texte. J'ai un contrôle sur la page qui permet à l'utilisateur d'activer et de désactiver la pagination. J'ai un problème où la ligne du haut et/ou du bas du texte est parfois "divisée en deux" de sorte que vous ne pouvez voir que la moitié supérieure ou inférieure de la ligne. Je crois que le code ci-dessous devrait le réparer. Le code obtient la hauteur de la ligne du texte et la hauteur du cadre, détermine le nombre de lignes visibles sur l'écran et crée une nouvelle hauteur de cadre de façon à l'adapter. Bien que le cadre soit redimensionné, il «coupe» toujours la ligne du haut et/ou du bas. Quelqu'un a des suggestions? Est-ce que mes mathématiques sont fausses?iphone UitextView Texte coupé
Merci !!!
- (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;
}