UITableViewDelegate および UITableViewDataSource でもある UIViewController のインスタンス変数として UITableView があります。テーブルは固定されており、画面の高さよりも短いため、スクロールは無効になっています。列の選択は、非常に優しく扱うと機能します。列を直接滑らせずにしっかりと押しても問題ありません。
ただし、テーブル上でクイック タップ、スライド、またはマルチタッチを行うと、行がちらつき、didSelectRowAtIndexPath への呼び出しは送信されません。たとえば、行 0 が選択され、現在強調表示されている場合、行 2 を押し下げると強調表示され、次に行 3 に向かって下にドラッグすると、何も強調表示されず、指を離すと行 0 が強調表示されます。
これは改善できますか?これは予想される動作ですか?とにかく、意図的なドラッグはおそらく意図的なキャンセルですが、クイックタップは、現在行っているように見えるよりも確実にキャプチャしたいものです.
テーブルビューを設定するコードは次のとおりです。
tableView2 = [[UITableView alloc]initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + HEADERANDFOOTERHEIGHT,
LEFTIMPORTWIDTH, self.view.frame.size.height - HEADERANDFOOTERHEIGHT * 2)];
[tableView2 setDataSource:self];
[tableView2 setDelegate:self];
tableView2.scrollEnabled = NO;
tableView2.exclusiveTouch = YES;
tableView2.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bkg_ptn_darkgraynoise.png"]];
[tableView2 setSeparatorStyle: UITableViewCellSeparatorStyleNone];
[tableView2 setRowHeight:52.0f];
[self.view addSubview:tableView2];
しかし、そのコードで奇妙なことが起こっているとは思いません。デフォルトの動作よりも優れたパフォーマンスを期待しているだけだと思いますか?