My Cocoa應用程序收集需要在時間軸中顯示的事件(NSManagedObject的實例)。我最初的方法是使用現有的基於Javascript的小部件(我嘗試使用Simile Timeline和Timeglider)並使用WebView控件顯示時間線。這原則上是有效的,但不幸的是,這些小部件不能很好地處理BC日期,這是我的應用程序的一個重要要求。如何使用可可實現時間線自定義控件?
在我的應用程序事件具有日期範圍從500.000BC高達近日期。活動日期僅用一年表示。他們的日,月和時間屬性是無關緊要的。
丟棄javascript的方法後,我留在顯示使用自定義可可控制時間軸的選項。由於我找不到合適的人,我必須自己開發。
這將是我的第一個自定義可可控制和思考這一段時間,我想出了以下設計粗糙後:
我需要一個自定義控件呈現的實際時間一致。此控件可能基於NSView。該控件應根據時間線上的刻度線數量乘以每個標記之間的寬度(像素)計算其大小。例如,時間線由幾百年組成,每個世紀100個像素寬。在10.000BC和5.000BC之間的事件時間線則是5000個像素寬(10000 - 5000 = 5000年,等於50個世紀)。
我需要一個滾動型包裝的時間表,以允許它支持滾動行爲。只需要水平滾動。
我需要一些東西來表示一個實際事件。我正在考慮爲此使用現有的控件,可能是標準的圓形按鈕和標籤一起作爲單個控件。
我需要一個自定義控件呈現在時間線上的刻度。
把這作爲我在Cocoa的時間線組件的基本設計,這樣做還是我完全忽略了這一點?
羅傑,你有過這樣的事嗎?我遵循類似的時間表(只是爲了覆蓋24小時)。 – Darren
@達倫是的,我做到了。工作很好。我剛剛完成了最初設計的重大重構。 – Roger
@Roger你有沒有iPhone的示例代碼。我有類似的需求? – arshad