2011年2月11日金曜日

座標からtableViewのindexPathってわかる?

わかる。

  1. // 表示しているtableVIewの現状のオフセットを取得する。  
  2. // ・tableVIewのオフセットはスクロールさせると値が変わるよ。  
  3. CGPoint offset =  self.myTableView.contentOffset;  
  4.   
  5. // オフセットの位置からy軸に120ポイント下に座標を指定してみよう。  
  6. // ・この場合だと、見た目上(画面上)の(10, 120)の位置を常にCGPointで取得してるってこと。  
  7. CGPoint p = CGPointMake(10.0, 120.0 + offset.y);   
  8.   
  9. // で、オフセット分を調整した座標(p)からindexPathが取得できるようになると。  
  10. NSIndexPath *indexPath = [self.myTableView indexPathForRowAtPoint:p];  
  11.   
  12. NSLogPoint(offset);  
  13. NSLog(@"%d", indexPath.row);  
  14.   
  15. [self setDetailView:indexPath];  



ついでに、スクロールしたときのドラッグ感知やスクロール停止時の感知のデリゲートメソッド
  1. - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {  
  2. }  
  3.   
  4. - (void)scrollViewDidScroll:(UIScrollView *)scrollView {  
  5.  }  
  6.   
  7. - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {  
  8.  [self hogel];  
  9. }  
  10.   
  11. - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {  
  12.  if (!decelerate) {  
  13.   [self hoge];  
  14.  }  
  15. }  

0 件のコメント:

コメントを投稿