私はUITableViewを持っています...ユーザーが行をタップすると、別の画面が開きます。問題は、1 回タップすることがありますが、didSelectRowAtIndexPath が数回呼び出すことです。それを防ぐ方法は?
その状況を再現する方法の1つのケースは次のとおりです(ネイティブのiPhone設定で再現することもできます):
- 1行タップするが指を離さない
- 次の数行を左から右または右から左にスライドします (タップするだけでなく、スライドする必要があります) 次の数行を別の手で別の順序でスライドさせます
- 指を離す
青い選択がいくつかの行にあり、どの画面が開かれるかはランダムであることがわかります
更新: didSelectRow で、新しいコントローラーを開始しました。ここで、viewDidLoad 同期が開始されます。私のシナリオを段階的に再現する場合は、同期を数回開始できます
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SecondViewController *secondViewController =
[SecondViewController alloc] init];
[self.navigationController
pushViewController:secondViewController animated:YES];
[secondViewController release];
}