iPhoneの標準のカレンダーのような見た目を作るのはちょっとめんどくさい。
探してみたら Kalというオープンソースのコンポーネントがあった。ライセンスはMITっぽい。
本来は「Integrating Kal into Your Project」のように、参照して使うもんだと思うけど、今回は結構カスタマイズしたいのでソースをコピーしてちまちまいじりながら使おうかと思ってる。
基本的にはインスタンスをつくって、DelegateとDataSourceを設定してあげればよし。
UITableViewDataSourceはした半分のテーブルビューを表示するために必要。
・presentingDatesFrom
ここでデータをフェッチする。DBとかにアクセスしたり、Webからデータを持ってくるときは非同期でデータを取って来るべし。データがメモリ上にロードされたら[delegate loadedDataSource:self];とかを呼び出せば良い。これを呼び出すとmarkedDatesFromがコールバックされる。
・markedDatesFrom
データがあるNSDateのアレイを返すべし。
・loadItemsFromDate
日付ごとにあるデータを作っておくべし。した半分のテーブルビュー用のデータ。
・removeAllItems
データを削除するべし。日付が変わった時とかにデータをクリアする目的で呼び出される。
という感じで、適当に実装するといいとおもう。
“iPhone用のカレンダーコンポーネント” への 1 件のフィードバック