在UIScrollView

时间:2016-09-29 23:59:03

标签: ios objective-c uitableview uiscrollview uicollectionview

我正在尝试在应用中构建二维导航,类似于Snapchat所做的。请参阅下面的图片,以了解我想要实现的目标。我尝试将所有视图放在UIScrollView内,然后手动创建方向锁以限制它永远不能滚动到空的左上方区域。这个想法来自here。这在某种程度上起到了作用,但是UITableView并没有与UIScrollView合作,看起来好像他们争取触摸的所有权。我只能在首先选择其中一行后滚动表格视图,然后我需要触摸表格视图外部以向后滚动到右侧。

我知道Apple在UITableViews内嵌入UIScrollViewsnot recommended,甚至可能会气馁:

  

重要提示:您不应该嵌入UIWebView或UITableView对象   UIScrollView对象。如果这样做,可能会导致意外行为   因为两个对象的触摸事件可能混淆错误   处理。

但我没有看到另一种方法来实现这一目标。我也试过使用两个单独的UIScrollViews,一个用于水平滚动,另一个用于嵌入第一个并控制所有垂直滚动。但是,我设置了这个问题,因为其中一个视图会使其子视图变得相当奇怪。

如果只有一种方法可以禁用UIScollView的水平或垂直平移手势识别器...我还尝试设置UIScrollView' s {{1和delaysTouchesBegan不同的值,没有任何运气。

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该能够使用UIPageViewController进行水平分页,然后使用UITableViewUIScrollView作为您的垂直内容,如果您遇到的是Snapchat效应后。