我构建了一个项目,它具有mapView
(Google Maps),tableView和UIScrollView
。 tableView位于底部,当应用程序启动时,您会看到它的一小部分,其中大部分都在屏幕外(底部)。当用户滚动tableView
显示并从底部向上时,直到它覆盖了所有的屏幕。这一切都有效,但我有一个小问题:我希望用户能够触摸地图(缩放,移动等),但UIScrollView
位于地图的顶部,并且当用户尝试与地图交互时scrollView检测到滚动并且地图没有得到触摸事件。 UIScrollView
有没有办法检测到地图区域上的触摸? scrollView
应该覆盖tableView
检测的所有屏幕(或者可能不是,还有另一种方式?),我不希望地图成为scrollView
的子类,因为当用户滚动时它会与表一起滚动(我希望tableView
可以放在地图上,而不是放在地图上)。 谢谢!检测UIScrollView下的触摸
1
A
回答
0
关闭我的评论。您需要将顶部空间设置为滚动视图上的超级查看约束。为约束创建一个IBOutlet,为约束的值创建一个浮点变量,并将其连接到顶层空间以超级查看约束,该约束将在界面生成器中在滚动视图中创建。
在您的.h:
IBOutlet NSLayoutConstraint *topSpace;
float topSpaceValue;
然后使用此更新约束:
topSpace.constant = topSpaceValue;
您可以检测滚动在用这种方法滚动视图,并设置topSpace约束:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
topSpace.constant = topSpaceValue;
}
现在,检测滚动视图移动速度有多快的实际逻辑以及设置为topSpaceValue是由你来弄清楚。您还需要检测滚动视图正在移动的方向,以增大或减小topSpaceValue的值。
这看起来像你需要的检测速度的链接:iPhone UIScrollView Speed Check
所以根据速度设定的约束。你可能会想检查约束的最小值,比如0,所以scrollview不会从屏幕的顶部滚动。
相关问题
- 1. 检测用户触摸UIScrollView
- 2. iPhone - 的UIScrollView ...检测触摸的坐标
- 3. 带有imageview检测触摸的UIScrollView
- 4. 在UIScrollView上检测触摸位置?
- 5. 检测哪个uiscrollview用户触摸
- 6. UiScrollview scrollviewDidScroll检测用户触摸
- 7. 在UiScrollView上检测触摸位置
- 8. 如何获得UIScrollView下的UIView来检测触摸?
- 9. 触摸UIScrollview?
- 10. 触摸在UIScrollView
- 11. UIScrollview触摸
- 12. 触摸不检测?
- 13. android检测触摸
- 14. android检测触摸
- 15. 检测CAShapeLayer触摸
- 16. 检测触摸UIButton
- 17. UINavigationItem:检测触摸
- 18. 父母UIScrollView的检测孩子的UIView的触摸
- 19. 在UIScrollView中添加为子视图的UIButton的触摸检测
- 20. 触摸后如何检测触摸
- 21. 检测触摸的UIImage作为UIScrollView子视图添加
- 22. 检测触摸在内部的UIScrollView一个UIView优选禁用
- 23. 在UIScrollView的内容上检测触摸事件
- 24. 的UIScrollView - 检测第二触摸而滚动
- 25. 如何在UIScrollview中检测UIImageView上的触摸?
- 26. UIScrollView的子类来检测触摸不灵
- 27. 用UIViews数组检测UIScrollView图层中UIView的触摸
- 28. 在UIBarButtonItem中检测触摸或按下
- 29. 在UIScrollView仍然有效的情况下检测连续触摸位置
- 30. 的UIImageView触摸检测
你可能需要澄清一下你在做什么。你想要一个tableView在一个mapview的顶部,但没有收到任何接触? – Alex
你这样做的方式会变得有点复杂。您应该使滚动视图从地图底部开始,然后使用自动布局和更新高度约束,当用户滚动时,从屏幕顶部更新滚动视图的空间。这样,即使滚动视图上方只显示20个像素,您也可以触摸地图。你也应该发布一些相关的代码和图片,以帮助每个人明确你想要做的事情。 –
@MSU_Bulldog如何更新高度限制?也许你知道函数的名称(ObjC) – Yahllilevy