0

デフォルトの Xcode テンプレートを使用して UItableView を作成し、5 行を表示するように構成しました。テーブルの最初のセルを選択します。別のセルを選択すると、2 番目のセルから指を離すまで、最初のセルが選択されたままになります。

サンプル: http://img190.imageshack.us/img190/7184/cellsz.jpg

タッチ削除ではなく、タッチ時にセルが選択されるようにします。ネットとアップルのドキュメントを検索しましたが、ユーザーが画面にタッチして選択したときに呼び出されるメソッドが見つかりませんでした。

これに関する情報を持っている人はいますか?

4

3 に答える 3

2

ついに、この二重選択効果を抑えることに成功しました。

システムがセルの内部イベントの修正を検出すると、セルが選択されます。選択される前に、セルはタッチで表示されるハイライト状態になります。

この問題を解決するに- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animatedは、カスタムUITableViewCellのメソッドをオーバーライドし、このメソッドでは何もしない必要があります。

このように、テーブルに同時に2つの選択されたスタイルセルが含まれることはありません。

編集後の引用

この解決策は私には十分ですが、「タッチアウト」イベントではなく「タッチイン」イベントでセルの選択を変更するという私の最初の要求は解決されません。

まあ...これは不可能だと思います。このオプションがあれば、テーブルビューでスクロールしたいときにセルを選択できます。

于 2009-11-03T11:34:28.097 に答える
1

あなたの質問に対する答えはわかりませんが、提案があります。選択した行にチェックマークを付けることができます

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

デリゲート メソッド。そして、呼び出します[tableView deselectRowAtIndexPath:indexPath]

于 2009-10-23T14:00:05.180 に答える
0

複数の行を選択するためのフレームワーク提供のソリューションはありません。Morion には、チェックマークを使用してこれを行う良い方法があります。Matt Gallagher によるこの記事も参照してください。ここでは、必要なものを実装しています。

于 2009-10-23T14:09:47.317 に答える