2

私は、彼らが同じデータを表示することを確認するUILabelUITableViewを同期しようとしています。もちろん、物事は最終的に異なるでしょうが、これをテストするためには私がする必要があります。のUITableView中心セルの詳細

enter image description here

は、矢印を参照してください?私はそれが「真ん中のセル」であるとき(px44-88から)中間セルがUILabelcell.textLabel.textを表示することを望みます。

私は- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPathを使ってみましたが、私は非常に多くの問題を抱えていました。私はそれが違いを生むかないだろうかはわからないが、私は私のUITableViewを移入するNSFetchedResultsControllerを使用しています。

答えて

2

のUITableViewはUIScrollViewのサブクラスなので、おそらくあなたはUIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

真ん中に現在あるセルを検出するためのメンバーを使用することができます。

I.e.あなたがいないセクションで、プレーンテーブルを持っていると仮定して、のtableViewは、テーブルのための出口で、ラベルはあなたのコントローラで、この意志の機能が動作するよりも、ラベルのための出口である:もちろん

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
     int row = (scrollView.contentOffset.y + tableView.frame.size.height/2)/44; 

     NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0]; 

     UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
     label.text = cell.textLabel.text; 
} 

を、あなたがする必要がありますそれを動作させるためにいくつかのスクロールを行う;)

あなたは非無地のテーブルの可視セルのレイアウトを取得し、テーブルの真ん中にセルを検出するために、それを使用するvisibleCellsメソッドを使用することができます

+0

あなたはより多くの詳細を与えることはできますか? – Baub

関連する問題