我的项目中有一个备注部分,我想在UITextView
中添加这些备注。我想要它,这样当我在文本视图中添加长文本时,整个文本视图会垂直增长以容纳文本。
我不希望UITextView
滚动。相反,我希望它根据其内容增加其高度。
当我们有短文时我想要这样:
当我在文本视图中添加一个长文本时,它应该像这样增加它的高度:
如何实现它,以便高度自动增加?
答案 0 :(得分:0)
您可以使用NSAttributedString获取文本的大小。
NSAttributedString *string = [[NSAttributedString alloc] initWithString:textView.text attributes:@{NSFontAttributeName:textView.font}];
float width = [string size].width;
float height = [string size].height;
// Then set the UITextView size using height and width
您可以在委托方法中实现此功能:- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
并不断调整大小。
答案 1 :(得分:0)
你可以试试这样的东西:
- (void)textViewDidChange:(UITextView *)textView
{
CGFloat fixedWidth = textView.frame.size.width;
CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
CGRect newFrame = textView.frame;
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
textView.frame = newFrame;
textview.scrollEnabled = NO;
}