有一种更简单的方法,然后使用手势识别器=]
您可以设置滚动视图的超级视图(BIGGER …),以将触摸传递给滚动视图。它正在MAGICALY =]
首先,选择将所有接触传递给滚动视图的视图。如果您的父视图已经可以,则可以使用它。否则,您应考虑以所需大小添加新视图,以吸引触摸。
现在创建一个新类(我将使用swift作为示例)
class TestView: UIView { @IBOutlet weak var Scroller: UIScrollView! override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { let view = super.hitTest(point, with: event) if (view == self) { return Scroller } return view }}
真好!现在,如您所见,我们添加了滚动条的出口。因此,请使用界面生成器,选择新视图,然后
TestView在 身份检查 器中将其类设置为“ ”
(或将其用于自定义类的名称)。
设置课程并仍然选择视图后,转到 连接检查器, 然后将“
Scroller” 连接到情节提要上的滚动视图。所有连接正确=]
而已!!无需手势识别器!!新视图将所有触摸内容传递给滚动视图,并且其行为就像您在其中平移一样=]
编辑: 我现在改进了代码,它不能按预期的方式工作,现在它仅在需要时才捕获,而不是像以前一样在应用程序中进行每一次触摸
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)