gpt4 book ai didi

iphone - 当 tableViewController 位于 navigationController 内时,无法在方向更改之前获取 reloadData 来更新表

转载 作者:行者123 更新时间:2023-12-03 21:07:17 25 4
gpt4 key购买 nike

我有一个 tableViewController,它最初是屏幕上的主视图 Controller 。在这种情况下,我使用 willRotateToInterfaceOrientation:toInterfaceOrientation:duration 方法来调用 reloadData 以使我的表重新加载其内容。这正如预期的那样,在方向改变时,表格的内容将被重新加载。

后来,我需要将 tableViewController 放入 navigationController 中。完成此操作后, willRotateToInterfaceOrientation:toInterfaceOrientation:duration 方法虽然仍在调用,但无法正确刷新表内容。

我的猜测是,通过将tableViewController放入navigationController中,这会影响旋转事件的发送顺序,并且当调用reloadData方法时,在tableView的生命周期中还为时过早,并且更改发生在旋转之前。我已确保使用某些日志语句调用 willRotateToInterfaceOrientation:toInterfaceOrientation:duration 方法。另外,为了看看会发生什么,我实现了 didRotateFromInterfaceOrientation:fromInterfaceOrientation 方法,在其中放置了 reloadData 语句,这确实正确地重新加载了表内容。但是,这种情况发生在旋转动画之后,然后重新绘制表格,从而产生明显的 UI 变化。

其他人以前见过这种行为或者知道如何解决它吗?

感谢您的任何建议。

最佳答案

您还应该查看其他 View 旋转方法。请参阅 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html 中的“响应 View 轮换事件”

也许是这两个之一?

- didAnimateFirstHalfOfRotationToInterfaceOrientation:
- willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:

关于iphone - 当 tableViewController 位于 navigationController 内时,无法在方向更改之前获取 reloadData 来更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862582/

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