我正在尝试将UITextView的大小调整为其中文本的大小。 问题是我使用自定义字体,文本不适合UITextView。
NSString *textToFit = @"pretty long text";
UIFont *customFont = [UIFont fontWithName:@"Museo-100" size:15];
CGSize sizeText = [textToFit sizeWithFont:customFont constrainedToSize:CGSizeMake(textFrame.size.width, 1000)];
其中textFrame是UITextView的框架,我想调整它的高度。
我尝试使用不同的字体以及相同字体的不同文件,但仍然不会将其高度调整为文本填充的高度。
我一直在寻找,但我找不到解决方案。我尝试过使用UILabel和方法textRectForBounds的解决方法,但仍然没有成功,这就行了。
UILabel *auxLabel = [[UILabel alloc]init];
auxLabel.numberOfLines = 0;
auxLabel.font = [UIFont fontWithName:@"Museo-100" size:15];
auxLabel.text = //THE TEXT I WANT TO FIT IN
CGRect textSize = CGRectMake(0.0, 0.0, textDescription.frame.size.width, FLT_MAX);
CGRect frame = [auxLabel textRectForBounds:textSize limitedToNumberOfLines:0];
答案 0 :(得分:0)
我认为
UIView : sizeToFit
应该解决你的问题。
sizeToFit调整大小并移动接收器视图,使其只包围它 子视图。
讨论:当您想要调整当前视图的大小以便它使用最合适的空间量时,请调用此方法。 特定的UIKit视图根据自己的内部调整自己的大小 需要。在某些情况下,如果视图没有超级视图,则可能会调整大小 本身到屏幕边界。因此,如果您希望给定视图的大小 本身到其父视图,您应该将它添加到父视图之前 调用这种方法。