2014-01-28 65 views
0

我有UIScrollView与其他UIView元素里面。我的其他UIView元素大多是分段控件。如果我点击一个UISegmentedControl并保持一秒钟,然后尝试滚动,则不会发生滚动。我只能在手指接触并立即滑动时才能滚动。我检查了其他iOS应用程序,例如邮件。行为是你触​​摸并按住邮件,然后突出显示,但只要手指移开,滚动就会发生,突出显示被撤消。我怎样才能实现这种行为?滚动视图不会滚动时触摸并按住然后滑动

+0

如果您在滚动视图上添加了分段控件,则可以将其添加到控制器的视图中。它应该工作。 –

回答

0

这个问题是UIScrollView的属性。属性canCancelContentTouches被设置为NO。因此,触摸事件由滚动视图的子视图处理,并且刷卡不会导致滚动。

0

您可以按照以下步骤之一:

  1. 如果您正在使用UISegmentedControl在你的UIScrollView,而不是说,在你的控制器的视图中添加的UISegmentedControl。

  2. 如果您想在您的scrollView上使用UISegmentedControl,那么您必须创建一个自定义的scrollView,方法是创建一个UIScrollView的子类并使用图像视图而不是UISegmentedControl添加可用作段的标签。这是因为你的UISegmentControl本身是一个触摸处理程序,它打破了UIResponder链。所以,在触摸事件期间滚动可能会遇到问题。

请让我知道,如果这些作品。谢谢:)

+0

我忘了提及我已经有了一个控制器,并将分段控制添加到控制器的视图中。 – neo

相关问题