ios – 如何更改UITableView的高度以适应其动态内容?

ios – 如何更改UITableView的高度以适应其动态内容?,第1张

概述我有一个UITableView,它包含一个单元格,而该单元格又​​包含一个TTTextEditor(一个Three20控件),所有意图和目的都是UITextView.我正在使用TTTextEditor,因此用户可以输入动态数量的文本,并且当控件调整大小时,我正在使用委托方法来相应地增加包含单元格的高度.到现在为止还挺好. 当我完成编辑后,当单元格现在更高时,表格不再滚动到足以覆盖内容.我假设我需要 @H_404_2@ 我有一个UItableVIEw,它包含一个单元格,而该单元格又​​包含一个TTTextEditor(一个Three20控件),所有意图和目的都是UITextVIEw.我正在使用TTTextEditor,因此用户可以输入动态数量的文本,并且当控件调整大小时,我正在使用委托方法来相应地增加包含单元格的高度.到现在为止还挺好.

当我完成编辑后,当单元格现在更高时,表格不再滚动到足以覆盖内容.我假设我需要调整表格的高度以补偿单元格高度的增加,但无论我尝试什么似乎都没有效果.从阅读,我正在尝试这个:

CGRect frame = [self.tableVIEw frame];CGSize contentSize = self.tableVIEw.contentSize;[self.tableVIEw setFrame:CGRectMake(frame.origin.x,frame.origin.y,frame.size.wIDth,contentSize.height)];

但它不起作用 – 框架高度确实增加,但没有增加到正确的高度,并且在任何情况下,桌子不会滚动它原来的更多.我也在tableVIEw上尝试了sizetoFit方法但没有成功.

有没有人能够深入了解如何让tablevIEw的可滚动高度增加?

解决方法 您需要设置contentSize而不是框架.计算大小应该是什么,然后设置它.这可能需要您进行一些计算.如果您正在处理文本,那么您可能希望查看添加到Nsstring中的方法,名为sizeWithFont:constrainedToSize:lineBreakMode:.另一方面,您的框架应始终是可视区域的大小,而不是可滚动区域.

编辑:请注意,对于那时没有改变的初始布局,您可能希望使用标准表委托机制 – (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath,但是当需要像这种情况动态变化,我认为调整内容大小值得一试.

@H_404_2@ 总结

以上是内存溢出为你收集整理的ios – 如何更改UITableView的高度以适应其动态内容?全部内容,希望文章能够帮你解决ios – 如何更改UITableView的高度以适应其动态内容?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1016735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存