2.xバージョンのSDKでうまく動作するiPhoneアプリがあります。 3.0にアップグレードすると、didSelectRowAtIndexPathメソッドが呼び出されなくなり、ユーザーが行を強調表示したときの動作は起こりません。これは、UITableViewとは別のnibにあるカスタムUITableViewCellです。データソースとデータデリゲートの両方がInterface Builderで適切に配線されています。2.21にコンパイルすると動作します。バージョン3.0では、行をクリックしても何も行われません。iPhone - UITableViewが3.0 SDKのdidSelectRowAtIndexPathメソッドを呼び出さない
This questionにも同様の問題が言及されていますが、クリックを取っている別の最初のレスポンダーについて言及しています。私はセルやテーブルに接続された最初のレスポンダーメソッドを持っていません。
テーブルを2.xおよび3.0で正しく動作させるにはどうすればよいですか?カスタムセルにはラベルとイメージがあり、行をクリックして特定の行の詳細を表示したいだけです。
allowSelectionプロパティがYESに設定されていることを確認してください。 – pix0r
はい、UITableViewのallowsSelectionプロパティはYESに設定されています。行がクリックされると、1秒間ハイライトされてからノーマル(強調表示されない)に戻りますが、ビューコントローラのdidSelectRowAtIndexPathメソッドは呼び出されません。 –
willSelectRowAtIndexPathが機能するかどうかチェックしましたか? –