【发布时间】:2015-07-09 17:27:30
【问题描述】:
我想知道如何在 iOS 中实现如下所示的自定义日历:https://dribbble.com/shots/843863-Date-Filter/attachments/88756。用户将能够拖动日期以选择或取消选择它们。我对 iOS 开发还是有点陌生,所以我需要一些关于从哪里开始寻找可能的解决方案的指示。谢谢。
【问题讨论】:
标签: ios swift cocoa-touch uiview uikit
我想知道如何在 iOS 中实现如下所示的自定义日历:https://dribbble.com/shots/843863-Date-Filter/attachments/88756。用户将能够拖动日期以选择或取消选择它们。我对 iOS 开发还是有点陌生,所以我需要一些关于从哪里开始寻找可能的解决方案的指示。谢谢。
【问题讨论】:
标签: ios swift cocoa-touch uiview uikit
在您的视图控制器中,在touchesBegan 中获取触摸的位置,并从该触摸中计算出日期。然后在touchesEnded 中做同样的事情。使用这两个日期作为日期范围的边界,瞧,就是这样。如果您想在用户拖动手指时为日期范围设置动画,那么也可以在 touchesMoved 中执行相同的操作。
对于显示日期范围的蓝色条,您可以使用蓝色左右半圆图像作为行尾,蓝色矩形作为行中间,并更改日期范围内的所有按钮 (除了边界日期)没有背景图像或前景图像,并将文本颜色变为白色。边界日期视图只是获得新的背景图像。
一般来说,如果您在网格中有任何东西,那么您可以通过一些数学计算轻松地计算出屏幕坐标到网格坐标(反之亦然)。此外,如果您想制作一些精美的图形,请将整个内容分解为与屏幕上当前视图相匹配的较小部分,并将您当前的视图用作放置新视图的“锚点”。
【讨论】: