gpt4 book ai didi

cocoa-touch - 如何在scrollToRowAtIndexPath 完成动画时收到通知

转载 作者:行者123 更新时间:2023-11-30 12:32:09 25 4
gpt4 key购买 nike

这是 How to get notified when a tableViewController finishes animating the push onto a nav stack. 的后续内容

tableView中,我想取消选择带有动画的行,但只有在tableView完成动画滚动到所选行之后。当发生这种情况时如何通知我,或者在完成时调用什么方法。

事情的顺序是这样的:

  1. 推送 View Controller
  2. viewWillAppear 中,我选择了某一行。
  3. viewDidAppear中,我scrollToRowAtIndexPath(到选定的行)。
  4. 然后,当滚动完成时,我想deselectRowAtIndexPath:animated:YES

这样,用户就会知道为什么他们滚动到那里,然后我可以淡出选择。
第四步是我还没弄清楚的部分。如果我在 viewDidAppear 中调用它,那么当 tableView 滚动到那里时,该行已经被取消选择,这是不好的。

最佳答案

您可以使用 TableView 委托(delegate)的 scrollViewDidEndScrollingAnimation: 方法。这是因为 UITableViewUIScrollView 的子类,并且 UITableViewDelegate 符合 UIScrollViewDelegate。换句话说, TableView 是 ScrollView , TableView 委托(delegate)也是 ScrollView 委托(delegate)。

因此,在 TableView 委托(delegate)中创建一个 scrollViewDidEndScrollingAnimation: 方法,并取消选择该方法中的单元格。有关 scrollViewDidEndScrollingAnimation: 方法的信息,请参阅 UIScrollViewDelegate 的引用文档。

关于cocoa-touch - 如何在scrollToRowAtIndexPath 完成动画时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43391852/

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