人がテーブル ビューの中央に達したときに、テーブル ビューの行を選択したい。基本的に、テーブルがポイント y に到達するたびに、そのポイントのセルが選択されるようにします。
uiPickerView に似ていると思います。
人がテーブル ビューの中央に達したときに、テーブル ビューの行を選択したい。基本的に、テーブルがポイント y に到達するたびに、そのポイントのセルが選択されるようにします。
uiPickerView に似ていると思います。
あなたは次のようUITableViewController
に実装する必要があります-scrollViewDidScroll:
:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (prevCell != nil)
self.prevCell.selected = NO;
CGPoint offset = self.tableView.contentOffset;
CGPoint point = offset;
point.y += self.tableView.center.y;
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.selected = YES;
self.prevCell = cell;
}
これはテスト済みで動作します。prevCell
タイプのプロパティですUITableViewCell
。
テーブル ビューのスクロール ビューの現在のオフセットを取得し、これを必要なセルの位置に追加する必要があります (この例では、テーブル ビューの中央にあるセルを取得します)。次に、 を使用-indexPathForRowAtPoint:
してポイントのセルのインデックス パス-cellForRowAtIndexPath:
を取得し、 を使用してインデックス パスのセルを取得します。選択済みに設定し、後で使用するために保存します (次のスクロールで選択を解除するため)。
やってみました
[[yourTableView cellForRowAtIndexPath:[yourTableView indexPathForRowAtPoint:wantPoint]] setSelected:true]
?
表示されているすべてのインデックスパスを取得してから、表示されているインデックスパスのデータを取得することで実現できると思います。あなたの問題をよく知っているあなた自身の cz を見ることができる最良の答え。このクラス リファレンスを参照してください。