Ios 如何在iPhone 4S Swift上动态调整UITextView中的文本大小
我的应用程序显示了一个字符串数组,可以通过按按钮进行迭代。它在除iPhone4S之外的所有设备上都能完美工作。问题是一些字符串元素太长,无法放入UITextView中,您必须滚动才能读取其其余部分,这是我不希望看到的 所以,我的问题是,当属性文本不适合所有字符串元素时,如何动态收缩属性文本以适应受约束的UITextView 如果可能的话,请告诉我,Ios 如何在iPhone 4S Swift上动态调整UITextView中的文本大小,ios,swift,uitextview,Ios,Swift,Uitextview,我的应用程序显示了一个字符串数组,可以通过按按钮进行迭代。它在除iPhone4S之外的所有设备上都能完美工作。问题是一些字符串元素太长,无法放入UITextView中,您必须滚动才能读取其其余部分,这是我不希望看到的 所以,我的问题是,当属性文本不适合所有字符串元素时,如何动态收缩属性文本以适应受约束的UITextView 如果可能的话,请告诉我, 谢谢大家。既然可以根据自己的情况使用UILabel,为什么还要使用UITextViewUITextView没有自动缩放属性。使用UILabel可以设
谢谢大家。既然可以根据自己的情况使用
UILabel
,为什么还要使用UITextView
<代码>UITextView没有自动缩放属性。使用UILabel
可以设置行数,并且它具有Autoshrink
属性,您可以在其中设置最小字体比例
或最小字体大小
,从而根据UILabel
大小调整文本。或者只允许使用UITextView
滚动,在textview类别中使用此选项以根据宽度调整字体大小
-(BOOL)sizeFontToFit:(NSString*)aString minSize:(float)aMinFontSize maxSize:(float)aMaxFontSize
{
float fudgeFactor = 16.0;
float fontSize = aMaxFontSize;
self.font = [self.font fontWithSize:fontSize];
CGSize tallerSize = CGSizeMake(self.frame.size.width-fudgeFactor,kMaxFieldHeight);
CGSize stringSize = [aString sizeWithFont:self.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap];
while (stringSize.height >= self.frame.size.height)
{
if (fontSize <= aMinFontSize) // it just won't fit
return NO;
fontSize -= 1.0;
self.font = [self.font fontWithSize:fontSize];
tallerSize = CGSizeMake(self.frame.size.width-fudgeFactor,kMaxFieldHeight);
stringSize = [aString sizeWithFont:self.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap];
}
return YES;
}
-(BOOL)sizeFontToFit:(NSString*)aString minSize:(float)aMinFontSize maxSize:(float)aMaxFontSize
{
浮动系数=16.0;
float fontSize=aMaxFontSize;
self.font=[self.font fontWithSize:fontSize];
CGSize-tallerise=CGSizeMake(self.frame.size.width-fudgeFactor,kMaxFieldHeight);
CGSize stringSize=[aString Size WithFont:self.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap];
while(stringSize.height>=self.frame.size.height)
{
如果(fontSize)这些可以节省我这么多时间。谢谢!这仍然没有抓住问题的关键,有很多正当的理由可以使用uiextview
而不是UILabel
。