带有 UIScrollview 的 UITapgesture 不会停止滚动?
Posted
技术标签:
【中文标题】带有 UIScrollview 的 UITapgesture 不会停止滚动?【英文标题】:UITapgesture with UIScrollview not stop scrolling? 【发布时间】:2016-08-10 05:48:19 【问题描述】:我遇到了问题,我不知道如何实现,请给我任何解决方案。
UIView ----UIScrollview ------Imageview(最少 10 个)
每个Imageview添加到scrollview中,每个ImageView都包含UITapgesture recongizer。Tapgesture用于获取图像并放大显示到Nextviewcontroller中。
这里我遇到了问题,当我滚动 UIScrollview 时,我想通过触摸滚动视图的内部或某处来停止滚动。如果我触摸任何地方,它就会进入下一页。
在页面中,如果 UIScrollview 正在滚动(用户当前没有触摸屏幕),然后用户点击屏幕,屏幕应该停止但不应该放大 Imageview。目前画面停止,但点击的图片正在放大中。
到目前为止的代码...
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapAction:)];
singleTap.numberOfTapsRequired = 1;
singleTap.delegate = self;
singleTap.cancelsTouchesInView = NO;
hypeScroll.canCancelContentTouches = NO;
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
//return YES;
// if (gestureRecognizer.view.superview.tag == hypeScroll.tag)
// return NO;
//
return YES;
给我解决办法,我卡了很久了,
提前致谢
【问题讨论】:
您的图像视图覆盖了整个滚动视图,还是有任何空间可以点击滚动视图? 是的,它覆盖了整个滚动视图。两个图像之间只有 2px 的空间.. 我建议UICollectionView
来实现这种东西!!
【参考方案1】:
我认为 UICollectionView 会比依赖 UIScrollView 更有助于你实现这个功能。查看UICollectionView。
【讨论】:
感谢回复,但有一个逻辑需要使用 UIScrollview。以上是关于带有 UIScrollview 的 UITapgesture 不会停止滚动?的主要内容,如果未能解决你的问题,请参考以下文章
带有 IUViewController 的 UIScrollView 拖放对象
带有 ViewControllers 的 UIScrollView
带有 UIScrollView 的 ECSlidingViewController