- https://github.com/NOUSguide/NGVaryingGridView
NGVaryingGridViewをinitしてdelegateを指定しaddSubviewしてreloadDataすればよい
- TableViewと同じようにgridViewDelegateを実装してcellを作る
@required rectsForCellsInGridView:- cellの位置情報を含んだCGRectのNSArrayを作り、それを返す
@required gridView:viewForCellWithRect:index:- cellに何を表示したいかの情報。自分でcellクラスのviewを作って、そのviewを表示させる
@optional gridView:didSelectCell:index:- cellをタップされたときのdelegate
@optional gridView:willPrepareCellForReuse:- cellを再利用する時に何かしたければ
NGVaryingGridView自体は一枚のUIView- subViewに
UIScrollViewを持つことで「スクロールしてcellを表示」を実現
- subViewに
setStickyView:lockPosition:を使って「日」や「時間」の帯をtop or leftに貼付けるUIScrollViewのdelegateを実装していて、そのscrollViewDidScrollの中で「cellを表示」「stickyViewのpositionをupdate」「ScrollIndicator(スクロール)を手前に表示」ってのをやっている
- (void)reloadData- 現在の描画領域に描画
- (UIView *)gridCellWithCGPoint:(CGPoint)point;- 指定したpointを内包しているgridCellを返す
- (void)scrollToGridCell:(UIView *)cell animated:(BOOL)animated- 指定したcellの所までscroll。
UIScrollView scrollRectToVisible:を内部で呼び出す
- 指定したcellの所までscroll。
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated- 上と似たようなもの
- (void)addOverlayView:(UIView *)overlayView- overlayViewを被せるようだけど、何のため用だろう??
- (UIView *)dequeueReusableCell __attribute__((deprecated))dequeueReusableCellWithFrameを呼んでるだけ。deprecatedの警告の出したいときはこう書く。
- (UIView *)dequeueReusableCellWithFrame:(CGRect)frame- ScrollIndicatorを手前に表示
- (void)setStickyView:(UIView *)view lockPosition:(NGVaryingGridViewLockPosition)lockPosition- 「日」や「時間」の帯をtop or leftに貼付け