gpt4 book ai didi

iphone - UITableView.tableFooterView 内的 UIPickerView 不接收拖动触摸

转载 作者:行者123 更新时间:2023-12-03 19:08:16 26 4
gpt4 key购买 nike

我在表的页脚中有一个 UIPickerView(我计划从中发出对表的“分页”样式请求 - 选择器将列出我正在导航的大型数据集的可用页面,并让用户直接跳转到数据的任何“页面”)。

我的选择器收到点击;如果我点击不是选定的选择器的一行,它就会滚动到选择器的中心空间。但是,如果我在选择器上拖动手指,我会滚动表格,而不是选择器内容。

我尝试在我的 tableFooterView 中安装 UIView 子类,看看我是否可以捕获触摸,我可以......但不能触摸选择器。实际上,触摸选择器周围确实会触发 UIView 子类的 -touchesBegan。但不是选择器本身的那些。

最佳答案

这就是最终的工作结果。

我将表格变成了 UITableView 的子类(称为 PickerSensitiveUITableView)。

我实现了这个方法:

- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView* result = [super hitTest:point withEvent:event];

if ([result.superview isKindOfClass:[UIPickerView class]])
{
self.scrollEnabled = NO;
}
else
{
self.scrollEnabled = YES;
}
return result;
}

现在,当触摸发生在选择器的范围内(实际上是表中的任何选择器!)时,它会关闭 UITableView 的可滚动性。

我想到一个更通用的解决方案是将其作为 UIScrollView 上的类别来执行。问题不在于表,而在于 UIScrollView,UITableView 是......的子类

关于iphone - UITableView.tableFooterView 内的 UIPickerView 不接收拖动触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609239/

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