gpt4 book ai didi

ios - 未在 UITableView 中调用 scrollviewDidEndDragging

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:12:06 24 4
gpt4 key购买 nike

我有一个 UIViewController,里面有一个 UITableView。我想使用 UIScrollViewDelegate 捕捉表格的滚动。表的委托(delegate)已正确设置,因为我可以执行 UITableView 方法,但在滚动时,方法 scrollViewDidScroll 被调用,但 scrollViewDidEndDragging 未被调用。我还实现了 scrollViewWillEndDragging 等,但只调用了 scrollViewDidScroll。所以我想知道为什么 scrollViewDidEndDragging 没有被调用。

编辑

这里其实没什么,只是记录事件。

这个叫做

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{

DDLogVerbose(@"did scroll");

}

这个不叫

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
DDLogVerbose(@"end drag");
}

编辑

好的,我尝试在我的 UItableview 子类中添加 scrollViewDidEndDragging,它成功了。那么如何让我的 viewcontroller 处理 scrollViewDidEndDragging?

最佳答案

我创建了一个干净的项目并添加了一个 tableView 来测试它。以下是代码:

@interface ViewController () <UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate>

@end

@implementation ViewController

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
NSLog(@"end drag");
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"end decelerating");
}

@end

下面是拖动后的日志:

2015-10-09 14:21:57.442 test[85247:453953] end drag
2015-10-09 14:21:58.178 test[85247:453953] end decelerating

所以调用了这些方法。

您应该粘贴更多代码以帮助我们找到问题。

关于ios - 未在 UITableView 中调用 scrollviewDidEndDragging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33029438/

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