![](/img/trans.png)
[英]UITableView beginUpdates() and endUpdates() clarification
[英]Alternative to UITableView.Begin/EndUpdates
我们有一个自定义的MonoTouch对话框(MT D)元素,我们希望在键入该元素时对其进行扩展。
我们遇到了不重新计算高度的常见MT D问题。 常见的解决方案是致电
this.GetContainerTableView().BeginUpdates();
this.GetContainerTableView().EndUpdates();
堆栈溢出问题
Monotouch:强制UITableView重新计算每个单元格的高度,而无需重新加载数据
即使对我们来说,这确实很有效,即使它确实散发出HACK的味道。 但是,用户正在报告其iPhone X上的问题,这意味着每次滚动整个MT D容器(UITableView)都会导致屏幕跳转。
我尝试暂时禁用元素容器和直接RootElement上的滚动,但这没什么区别。
任何人都可以提出一些建议来阻止跳跃吗?
我曾尝试在Begin和EndUpdates之前将滚动位置设置回它的值,但在尝试挂钩滚动事件时遇到异常
UIKit.UIApplication.EnsureEventAndDelegateAreNotMismatched
但是,此建议可以在不使用Scroll Event的情况下进行重置。 谢谢凯尔·香克(Kyle Shank)
http://www.kyleshank.com/2015/12/05/prevent-uitableview-from-scrolling-during-updates.html
注意:在发布到SO之前,我花了大约几个小时来尝试解决这个问题。 在写问题时,我找到了Kyke Shank解决方案,但决定如果我仍然以问题和后续答案的形式来写,我们会更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.