gpt4 book ai didi

ios - UITextView sizeThatFits 返回的大小与 boundingRectWithSize 不同

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:46 25 4
gpt4 key购买 nike

需要 UITextView 所需的高度。 sizeThatFits 返回比 boundingRectWithSize 更大但正确的高度。为什么会存在差异?

在两个地方我需要知道高度。在 cellForRowAtIndexPathheightForRowAtIndexPath 中。

我不认为总是在 heightForRowAtIndexPath 中创建一个 UITextView 只是为了知道需要什么高度是没有效率的。

您知道在 heightForRowAtIndexPath 中计算 UITextView 高度的解决方法吗?

最佳答案

我上个月的UITableView遇到了类似的问题,我用boundingRectWithSize来计算大小,其实是正确的。然后我将它放入 UITextView。

我犯的一些错误:

  1. 我忘记在计算时为 UITextView 设置相同的字体大小
  2. UITextView 有边距,我会手动将它添加到 heightForRowAtIndexPath 并将 textContainerInset 设置为相同的。

希望对你有帮助。

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger section = indexPath.section;
NSUInteger axisIndex = section - 2;
yAxis *yAxisObj = self.yAxisInfoArray[axisIndex];
boundingRect = [yAxisObj.yAxisDescription boundingRectWithSize:CGSizeMake(self.descriptionViewWidth, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
attributes:@{NSFontAttributeName:self.contentFont}
context:nil];


return boundingRect.size.height + TEXT_TOP_MARGIN + TEXT_BOTTOM_MARGIN;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellId = @"ChartDescriptionCell";
ChartDescriptionCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (!cell) {
cell = [[ChartDescriptionCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
cell.textView.bounces = NO;
cell.textView.showsHorizontalScrollIndicator = NO;
cell.textView.showsVerticalScrollIndicator = NO;
cell.textView.font = self.contentFont;
cell.textView.textColor = [UIColor colorWithHex:@"#333333"];
cell.textView.textContainerInset = UIEdgeInsetsMake(TEXT_TOP_MARGIN, -5, TEXT_BOTTOM_MARGIN, -5);
}
NSInteger section = indexPath.section;
NSUInteger axisIndex = section - 2;
yAxis *yAxisObj = self.yAxisInfoArray[axisIndex];
cell.textView.text = yAxisObj.yAxisDescription;
}
return cell;
}

关于ios - UITextView sizeThatFits 返回的大小与 boundingRectWithSize 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com