iOS 中的自定义拖动日历

Custom drag calendar in iOS

我想知道如何实现如下所示的自定义日历:https://dribbble.com/shots/843863-Date-Filter/attachments/88756 in iOS。用户将能够拖动日期以选择或取消选择它们。我对 iOS 开发还是有点陌生​​,所以我需要一些关于从哪里开始寻找可能的解决方案的指示。谢谢

在您的视图控制器中,获取触摸在 touchesBegan 中的位置,并计算出该触摸的日期。然后在 touchesEnded 中做同样的事情。将这两个日期作为日期范围的边界,瞧,就是这样。如果你想在用户拖动手指时为日期范围设置动画,那么在 touchesMoved 中也做同样的事情。

对于显示日期范围的蓝色条,您可以在行的末端使用蓝色左右半圆图像,行中间使用蓝色矩形,并更改日期中的所有按钮范围(边界日期除外)没有背景图像或前景图像,并将文本颜色变为白色。边界日期视图刚刚获得新的背景图像。

一般来说,如果您有任何东西在网格中,那么您可以通过一些数学运算轻松计算出屏幕坐标到网格坐标(反之亦然)。此外,如果您想制作一些精美的图形,请将整个事物分解为与当前屏幕上的视图相关的较小部分,并使用您当前的视图作为 "anchors" 放置新视图的位置。