【问题标题】:Create a timeline with UIScrollView使用 UIScrollView 创建时间线
【发布时间】:2011-08-29 06:47:13
【问题描述】:

我正在尝试使用 UIScrollView 实现时间线。

基本上,全部缩小,它应该显示一年的一个“组合值”。 如果放大并且 zoomScale 超过特定阈值,我想显示各个月份的“组合值”,如果进一步放大,它应该显示各个日期的实际值。

所以我考虑创建多个年的自定义视图,包含月的自定义视图,包含天的自定义视图。 我的滚动视图的内容大小会很大(例如,如果一天完全缩放是 30 - 50 像素)并且内存使用量很大。

then I made my scroll view only scaling the x axis.

但我不确定这是否是实现它的最佳方式,我在调整 UI 元素(几个月的标签、显示边框等)的大小时遇到​​了很多麻烦,那么您的方法是什么?

I also thought about doing some shifting with 3 screen-sized views.

我也不知道如何在这个方法上实现缩放。

希望有一些关于如何做到这一点的新想法和想法。

干杯,菲利克斯

【问题讨论】:

    标签: iphone cocoa-touch uiview uiscrollview timeline


    【解决方案1】:

    看看 UIScrollViewDelegate 方法:

    - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    

    您可以实现此方法以针对不同的缩放级别返回不同的视图。不久前,我使用三个单独的视图构建了一个应用程序来显示类似日历的时间线,但现在希望我已经使用上面的委托方法实现了它。祝你好运。

    【讨论】:

    • 感谢您的提示,我制作了三种不同的视图供您选择。因此,当我检测到转换并返回新视图时,是否必须手动添加新视图并从滚动视图中删除旧视图?还是只返回新创建的视图?
    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 2012-05-12
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 2018-06-01
    相关资源
    最近更新 更多