我有UIScrollView和其他UIView元素。我的其他UIView元素主要是分段控件。如果我单击UISegmentedControl并保持一秒然后尝试滚动,则不会发生滚动。我只能在手指触摸并立即滑动时滚动。我检查了其他iOS应用程序,如邮件。行为是你触摸并按住邮件,然后突出显示,但是一旦手指移开,滚动就会发生并且突出显示被撤消。我该如何实现这种行为?
答案 0 :(得分:0)
您可以执行以下步骤之一:
如果你在UIScrollView上使用UISegmentedControl,而不是在你的控制器视图上添加UISegmentedControl。
如果要在scrollView上使用UISegmentedControl,则必须通过创建UIScrollView的子类来创建自定义scrollView,并使用图像视图而不是UISegmentedControl添加可充当片段的标签。这是因为您的UISegmentControl本身是一个触摸处理程序,它打破了UIResponder链。因此,滚动可能会在触摸事件期间遇到问题。
如果其中任何一项有效,请告诉我。谢谢:))
答案 1 :(得分:0)
问题是UIScrollView的属性。属性canCancelContentTouches设置为NO。因此,触摸事件由滚动视图的子视图处理,而滑动不会导致滚动。