在更改多个孩子时暂停重绘

时间:2013-09-13 15:56:25

标签: ios xamarin

我有一个UIViewController,在异步加载一些数据后需要调整一些子视图(一些UITableViews和一些UIScrollViews)。这在模拟器中工作得很好,但在实际设备上,它会挂起很长时间(在一种情况下多达30秒)。我认为问题在于它想要在每次更改为子视图后重新计算所有内容,并且我希望能够告诉它推迟任何重新计算,直到我调整了所有内容,但我在寻找方法时空白要做到这一点。有机制可以做到吗?

所以我正在做的是这样的事情(我正在使用带有Xamarin的C#,但是Obj-C中的输入也会受到赞赏!):

// Need to suspend layout here... 
MyTable.Frame = new RectangleF(...);
SomeOtherTable.Frame = new RectangleF(...);
ScrollView.ContentSize = new SizeF(...);
AnotherScrollView.ContentSize = new SizeF(...);
AnotherScrollView.Frame = new RectangleF(...);
// Ok - now you can redraw!

更新:雅各布关于禁用动画的建议似乎没有帮助,但我想我已经将问题分离到了表调整大小。它们似乎对性能影响最大,但我不确定为什么,或者如何缓解这个问题。我可以跟进一个单独的问题。

0 个答案:

没有答案