0

カスタム UITableViewCells を持つ UITableView があります。ほとんどの場合、それらに触れたときに didSelectRowAtIndexPath: が呼び出され、新しいビューがプッシュされます。ただし、特定の方法でタップすると (約 1 秒間タップしたままにする)、強調表示されたままになり、画面上の別の場所で別のタップが検出されるまで、次のビューがプッシュされません。didSelectRowAtIndexPath: 内でメッセージのログを記録しようとしましたが、これらのインスタンスで呼び出されていないことを確認しました。そのメソッド内のコードは次のとおりです。

PortfolioVC *portfolioController = [self.storyboard instantiateViewControllerWithIdentifier:@"portfolioIdentifier"];
AccountInformationVC *accountController = [self.storyboard instantiateViewControllerWithIdentifier:@"accountIdentifier"];
[[Globals Variables] setIndex:indexPath.row];

if (indexPath.section == 0)
    [self.navigationController pushViewController:accountController animated:YES];
if (indexPath.section == 1)
    [self.navigationController pushViewController:portfolioController animated:YES];

ハイライトされたイメージは、selectedBackground をハイライトされたイメージを含む UIImageView に接続することにより、カスタム UITableViewCell の xib 内に設定されます。

4

1 に答える 1

0

問題を修正しました。カスタムセルxibsでバックグラウンドUIImageViewsを再接続する必要がありました。それを実行し、ビルドをクリーンアップし、アプリを削除した後、問題は修正されました。また、カスタムUITableViewCellsのsetSelectedメソッドとsetHighlightedメソッドをオーバーライドしようとし、それらのメソッドを削除しました。

于 2012-06-14T17:34:49.013 に答える