ios – UITableViewCell的动画高度变化,无需滚动

ios – UITableViewCell的动画高度变化,无需滚动,第1张

概述我知道如何使用此处显示的方法为UITableViewCell的高度变化设置动画: Can you animate a height change on a UITableViewCell when selected? 但是,使用该方法,UITableView将同时滚动,我不希望它这样做. 我有一个UITableView,只有很少的细胞;它占用的屏幕高度低于屏幕高度.底部单元格有一个UITextFi 我知道如何使用此处显示的方法为UItableVIEwCell的高度变化设置动画: Can you animate a height change on a UITableViewCell when selected?

但是,使用该方法,UItableVIEw将同时滚动,我不希望它这样做.

我有一个UItableVIEw,只有很少的细胞;它占用的屏幕高度低于屏幕高度.底部单元格有一个UITextFIEld,当它开始编辑时,我手动设置UItableVIEw的内容偏移量,以便具有UITextFIEld的单元格滚动到顶部.然后,根据UITextFIEld中的输入,我可能想要增加UItableVIEwCell的大小以显示额外的选项,或多或少.

问题是,在动画这个更改时,它将重新定位UItableVIEw,以便我的UITextFIEld不再位于顶部.

这就是我正在做的,或多或少:

self.customAmountCellSize = height;[self.tableVIEw beginUpdates];[self.tableVIEw endUpdates];

我也试过了

self.customAmountCellSize = height;CGPoint originalOffset = self.tableVIEw.contentOffset;[self.tableVIEw beginUpdates];[self.tableVIEw endUpdates];[self.tableVIEw setContentOffset:originalOffset animated:NO];

我想要行高动画,我不希望UItableVIEw作为结果滚动.

有任何想法吗?

解决方法 您遇到的问题似乎是您的表格视图滚动到底部,所以当您更新其内容时,它将尝试修复它.

您可以采取两种方法来阻止滚动:

>将表视图的内容插入设置为初始空白的高度:

self.tableVIEw.contentInset = UIEdgeInsetsMake(0,verticalGap,0);

>添加与页面空间高度相同的空页脚视图:

self.tableVIEw.tableFooterVIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(0,verticalGap)];

在这两种情况下,您都需要计算您想要达到的垂直空间.然后,您需要在完成后将contentInset或tableFooterVIEw恢复到其原始状态.

总结

以上是内存溢出为你收集整理的ios – UITableViewCell的动画高度变化,无需滚动全部内容,希望文章能够帮你解决ios – UITableViewCell的动画高度变化,无需滚动所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1113694.html

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

发表评论

登录后才能评论

评论列表(0条)

保存