我正在开发一个日历。我有一个多列列表视图,列表视图的每个单元格都由一个图像视图组成。我的问题是....要创建一个开始时间为例如 13.20 到 13.45 的事件,我如何才能仅在这段时间为 imageview 着色?
谁能给我一个例子?我放了一张图片,这是我假装的一个例子。
感谢您的时间和帮助。
我正在开发一个日历。我有一个多列列表视图,列表视图的每个单元格都由一个图像视图组成。我的问题是....要创建一个开始时间为例如 13.20 到 13.45 的事件,我如何才能仅在这段时间为 imageview 着色?
谁能给我一个例子?我放了一张图片,这是我假装的一个例子。
感谢您的时间和帮助。
不要浪费你的时间,ImageView
因为他们不会那样做。开始编写自己的View
子类,以后会节省时间。只需重写该onDraw
方法并使用该Canvas
对象在正确的位置绘制矩形。
为了制作您需要的视图,我将有一个网格视图,在每一行中保存一个自定义组件,负责呈现对应于日期(列)和时间范围(行)的相应议程槽。
就像另一种选择一样(我同意 MarvinLabs 的方法,但想把它扔掉)。
您可以拥有一个主 ViewController,它为每个条目添加一个 UIView 作为子视图。有了它,您可以更简单地设置每个条目的背景颜色和边框。您将不得不实现您的放置算法。
我相信 MarvinLabs 的方法会导致占用空间更小(内存方面),但是我不知道有多少。至少这是另一种选择。
此外,作为对您可能不想使用 imageView 的解释是,imageView 固有地带有许多您不需要的代码,例如图像解码器、图像显示代码等……因为您不是实际使用图像,您不需要将此代码(默认情况下,如果您使用 imageView 对象)合并到您的二进制文件中。