在iOS中自定义拖动日历

时间:2015-07-09 17:27:30

标签: ios swift cocoa-touch uiview uikit

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

1 个答案:

答案 0 :(得分:1)

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

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

一般情况下,如果网格中有任何内容,那么您可以通过一些数学运算轻松地将屏幕坐标计算到网格坐标(反之亦然)。此外,如果您想制作一些精美的图形,请将整个部分分解为与屏幕上当前视图一致的较小部分,并将当前视图用作放置新视图的“锚点”。