gpt4 book ai didi

ios - 在 UITableViewCell 中扩展 UITextView 在底部留下空隙

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:28:56 24 4
gpt4 key购买 nike

我已经在 UITableViewCell 中成功实现了 UITextView。我已将 UITextField 放入单元格并指定约束,以便 TextView 始终与单元格的顶部和底部相距 10 点(因此,当单元格大小增加时, TextView 也会增加):

enter image description here

我还包含了以下代码(这似乎是推荐的 iOS 7 方式)以从 TextView 中删除所有内容插入和填充:

expandingTextViewCell.textView.textContainer.lineFragmentPadding = 0;
expandingTextViewCell.textView.textContainerInset = UIEdgeInsetsZero;

所有单元格高度都存储在一个数组中,由-tableView:heightForRowAtIndexPath:查询。我在 -textViewDidChange: 方法中实现了相关代码来检查已输入到 TextView 中的新文本,重新计算高度,更新数组,然后调用 [tableView beginUpdates ][tableView endUpdates] 为单元格高度的变化设置动画。这一切都有效, TextView 也调整大小(由于定义的约束):

enter image description here

但是,有一个问题我无法解决。当输入足够多的文本导致单元格(和 TextView )扩展时, TextView 似乎向上滚动 - 这会切断第一行文本,并且还会在 TextView 的底部创建一个间隙:

enter image description here

您可以在上面的屏幕截图中看到问题。但是,如果我手动将 TextView 滚动回它的正确位置,那么一切都显示正常,并且我无法向下滚动 TextView 以再次获得间隙,该间隙现在已经消失了:

enter image description here

如果能帮助我消除单元格/ TextView 展开时出现的间隙,我将不胜感激。从用户的角度来看,我只希望 TextView 向下增长/扩展,而先前键入的文本仍保留在其原始位置。

最佳答案

我知道这个问题很老了,但同样的问题在 iOS 10 中仍然存在。

对类似问题的回答很有帮助:https://stackoverflow.com/a/42480403/7604418

您可以向 UITextView 添加一个类别以禁用内容偏移动画,并修复额外的底部偏移:

@implementation UITextView (Scroll)
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated {
[super setContentOffset:contentOffset animated:NO];
}
@end

关于ios - 在 UITableViewCell 中扩展 UITextView 在底部留下空隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21158068/

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