我一天中大部分时间都在尝试一些解决方案来实现这一点,而且我已经搜索了大量的stackoverflow答案,但没有任何帮助我。问题是我有很多文字被显示,最后它被切断了。我可以通过结束并删除一些文本来验证这一点,如下面的部分所示。我已经将我的表设置为具有更大的内容大小,这确实增加了滚动区域但文本视图被切断了。我为滚动区域设置的内容大小是我尝试过的一些方法,但没有一种方法可行。现在奇怪的是我设置了一个sizeToFit方法,但它工作了一次然后停止工作。当我在我的故事板中设置的文本视图上更改高度然后它停止工作后,这个工作。它确实让我发疯了。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
tableView.separatorColor = [UIColor clearColor];
tableView.contentSize = CGSizeMake(320, 1800);
self.procedureScrollView.contentSize = (CGSizeMake(320, 1800));
self.procedureText.contentSize = (CGSizeMake(320, 1800));
self.procedureScrollView.scrollEnabled = NO;
self.procedureScrollView.scrollEnabled = YES;
if (indexPath.row < _procedureVariables.count)
return 40.0f;
else {
UIFont *cellFont = [UIFont fontWithName:@"Avenir Next" size:14.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
NSString *cellText = [NSString stringWithFormat:@"%@ \n\n %@", [_templateDictionary objectForKey:@"indicationText"], [_templateDictionary objectForKey:@"procedureText"]];
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height;
}}
这是viewWillAppear方法
- (void)viewWillAppear:(BOOL)animated{
[self.procedureText setFrame:self.procedureTextFrame];
[self.indicationTextView setFrame:self.indicationTextFrame];
self.reducedIndicationTextHeight = self.indicationTextView.frame.size.height - 180;
self.reducedProcedureTextHeight = self.procedureText.frame.size.height - 180;
self.increasedIndicationTextHeight = self.indicationTextView.frame.size.height + 180;
self.increasedProcedureTextHeight = self.procedureText.frame.size.height + 180;
[self.caseDataTableView reloadData];
}
这是我使用的sizeToFit方法。
[self.procedureText sizeToFit];
我尝试了无数的解决方案,但没有一个有效。我已将此代码放入viewDidAppear,viewDidLoad等。没有任何工作。非常感谢任何帮助!