繁体   English   中英

如何创建iOS UiView,将彼此相邻的多个按钮组合在一起,并通过滑动即可选择所有按钮

[英]How to create iOS UiView that combines multiple buttons next to each other and enables swiping to selecting all of them

现在我有几个像这样的按钮:

在此处输入图片说明

用户必须按所有它们以选择整行(我有几行)。 使他们能够在其上滑动以将其全部选中是很自然的。 我还需要获取有关选择了多少个按钮的信息。

你能帮我实现这个目标吗? 我是否必须创建自己的视图或实现一些手势侦听器?

根据您到底要实现什么,有两种简单的方法:

  1. 最简单的方法:将UISwipeGestureRecognizer添加到视图(或仅包含4个按钮的视图),并在视图控制器中实现委托接口。 完成滑动(方向正确)后,您会收到一个事件并执行“解锁”。

UISwipeGestureRecognizer扩展了UIGestureRecognizer在此处阅读文档):

手势识别器的客户端还可以通过调用locationInView:或locationOfTouch:inView:来请求手势的位置。

因此,通过实现UIGestureRecognizerDelegate在此处下载文档),您应该能够准确地检查您想要的内容。

  1. 如果要手动跟踪用户手指,则可以扩展UIView并实现:
    • touchBegan
    • touchMoved
    • touchEnded

您可以在此处拥有完全控制权( CGRectContainsPoint()将很有用)。

编辑:重要的是您必须牢记的是要选择速度。 如果用户即使使用缓慢且非线性的手势也可以选择该行(例如,将手指放在第一个按钮上,然后>缓慢转到第二个>转到第三个>返回第二个>转到最后一个),则应该扩展UIView然后在触摸上开始突出显示第一个图像,然后跟随手指直到最后一个按钮上的touchEnd。 它应该更加用户友好(当然,这取决于您要实现的目标)。

签出此开源项目Swipe-to-Select Gridview

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM