我正在尝试根据内容调整 UITextView 的大小。如果它是多行的,我想调整高度,但是当文本很短时,我也想根据内容调整宽度。目前高度有效,但宽度无效。我努力了
UITextView *view = [[UITextView alloc] initWithFrame:CGRectMake(10, 10, 300, 130)];
view.text = @"This is a test";
CGSize size = [view.text sizeWithFont:view.font constrainedToSize:CGSizeMake(300, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, size.width,size.height);
[self.view addSubview:view];
这是我最近的一次。但这不会调整高度的大小,并且会删除文本中的最后一个单词('test')。要调整高度,我尝试了两种方法:
CGSize size = [view sizeThatFits:CGSizeMake(300, MAXFLOAT)];
view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, size.width,size.height);
和
[view sizeToFit];
[view layoutIfNeeded];
两者都适用于高度但似乎不能调整宽度(我不知道为什么它们不适用于宽度..)