gpt4 book ai didi

ios - 将事件从 (UITableViewCell->UIScrollView) 传递给拥有的 UITableView

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

我有一个标准的 UITableView,其中填充了使用 UIImageView 显示的自定义单元格。我可以点击会触发 UITableView 的 方法的图像:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

但是我想对这些图像启用双指缩放,这需要将 UIImageView 嵌套在 UIScrollView 中,所以我就是这么做的。它看起来像这样:

@interface SMLargeGalleryCell : UITableViewCell
@property (strong, nonatomic) UIImageView *assetImageView;
@property (strong, nonatomic) UIScrollView *scrollView;
@end

但是,现在当我点击图像时,UITableView 不再收到对 didSelectRowAtIndexPath 的调用。如果我点击单元格之间,事件将触发。问题似乎是 UIScrollView 没有转发事件。

我怎样才能做到这一点?
我在想类似的事情(虽然我知道这很荒谬):

-(IBAction)myScrollViewAction:(id)sender{
self.scrollView.parentTableView didSelectRowAtIndexPath.....;
}

我在这里错过了什么?
这与响应链有关吗?

最佳答案

请参阅我对问题的回答,该问题在结构上似乎与您的相似:Horizontal UIScrollView having vertical UIScrollViews inside - how to prevent scrolling of inner scroll views when scrolling outer horizontal view?

不久,我的解决方案是对两者进行破解:

1) shouldRecognizeSimultaneouslyWithGestureRecognizer UIGestureRecognizerDelegate 协议(protocol)

使用它,您可以同时在 tableview 和 cell 上捕捉手势。

2) 原生 UIScrollView 的 panGestureRecognizer

因为 UITableView 是 UIScrollView 的子类,所以它应该有 panGestureRecognizer(也许还有一些其他的)。

只需看看我使用的模式 - 我相信您可以将其转换为在您的案例中使用。

关于ios - 将事件从 (UITableViewCell->UIScrollView) 传递给拥有的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16087939/

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