私は1つのセクションを持つUITableViewを持っています。セルをクリックすると、didSelectRowAtIndexPathが期待どおりトリガーされます。 1つの画面にテーブルビューにそれ以上の行が表示され、テーブルビューを垂直方向にスクロールして行をクリックすると、didSelectRowAtIndexPathは呼び出されません。これは、同じ行をもう一度クリックすると発生します。スクロールするときにテーブルビューがどのように機能するのでしょうか?そうでなければ、私は行方不明のものがありますか?助けていただきありがとうございます。 スクロールのUITableViewはdidSelectRowAtIndexPathを呼び出さない
答えて
ありがとうございました。 if条件を追加しても役に立たなかった。 nibファイルでスクロールが無効になり、問題が修正されました。再度、感謝します!!
問題は、cellForRowAtIndexPathがデキューを間違って使用していることです。
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *SingleCellIdentifier = @"selectioncell";
UITableViewCell *selectionCell = [tableView dequeueReusableCellWithIdentifier:SingleCellIdentifier];
if(selectionCell == nil)
selectionCell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:SingleCellIdentifier] autorelease];
[selectionCell setSelectionStyle:UITableViewCellSelectionStyleBlue];
[selectionCell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
}
[[selectionCell textLabel] setText:[[possibleAnswers objectAtIndex:indexPath.row] answerText]];
}
アイデアはdequeueReusableCellWithIdentifier:
はあなたに使用可能なセルが得られますが、使用できない場合、それはnilを返すということです。それが無ければ、それを自分で割り当てるべきです。あなたのコードは、デキューされたセルをフェッチしていましたが、それを無視して、デキューステータスに関係なく単純に割り当てます。これを試して問題が解決するかどうかを確認してください。
私はこの方法のために私のプロジェクト全体を真似しましたが、何も見つかりませんでした – user678229
まあ、ポストコードか、私たちはあなたを助けることができません。 – Tim
*質問*に投稿してください。 – Tim
- 1. iPhone - UITableViewが3.0 SDKのdidSelectRowAtIndexPathメソッドを呼び出さない
- 2. iOS 5でTableViewControllerがスクロールせず、didSelectRowAtIndexPathを呼び出さない
- 3. セクション(高さ400.0f)をタップUITableview呼び出しのビューdidSelectRowAtIndexPath
- 4. prepareForSegueを使ってUITableView didSelectRowAtIndexPathを呼び出しましたが、didLoadViewは呼び出されません。
- 5. カスタムuitablviewcellはコントローラー内でdidSelectRowAtIndexPathを呼び出さない
- 6. UITableViewデリゲートメソッドが呼び出されない?
- 7. UITableViewサブクラスメソッドが呼び出されない
- 8. UITableView DidSelectRowAtIndexPath?
- 9. 私はuitableview(cell = nil)は常に呼び出さない?
- 10. numberOfRowsInSectionがUITableViewのために呼び出されていない
- 11. 編集モードのときにios didselectrowatindexpathが呼び出されない
- 12. UITableView didSelectRowAtIndexPathは、2回目のタップ後に呼び出されることがあります。
- 13. Objective-c UITableViewの別のクラスcellForRowAtIndexPathが呼び出されない
- 14. UITableViewデリゲートメソッドが呼び出されていない
- 15. UITableViewの行アクションが呼び出されない
- 16. なぜUITableViewは私のcustomCellを呼び出さないのですか?
- 17. UITableViewデリゲートメソッドがUIPopoverPresentationControllerで呼び出されない
- 18. カスタムUITableViewCell呼び出し内のUITextViewで検出されたデータをタップdidSelectRowAtIndexPath
- 19. UITapGestureRecognizerでdidSelectRowAtIndexPathメソッドを呼び出す方法は?
- 20. UITableViewとdidSelectRowAtIndexPathの問題
- 21. "didSelectRowAtIndexPath"メソッドはiOS 10デバイスでは一度も呼び出されません
- 22. Ionic 2 - 無限スクロールで2番目のスクロールが呼び出されない
- 23. フレームワークからUITableViewControllerによってdidSelectRowAtIndexPathが呼び出されていません
- 24. UITableViewのshouldIndentWhileEditingRowAtIndexPath:が呼び出されていません
- 25. なぜUITableViewはUIScrollViewのデリゲートメソッドを呼び出しますか?
- 26. didSelectRowAtIndexPathでカスタムUIButton関数を呼び出す
- 27. LoadData呼び出し後にUITableViewがデータを表示しない
- 28. textFieldShouldBeginEditingが呼び出され、textFieldDidBeginEditingが呼び出されない
- 29. Ajax.BeginFormはonSuccessを呼び出さない
- 30. System.ComponentModel.BackgroundWorkerはProgressChangedを呼び出さない
テーブルがまだスクロールしている場合、最初のタッチはdidSelectRowAtIndexPathを呼び出さずにスクロールを停止します。これはあなたが意味することですか?そうでない場合は、より多くの説明と関連性のあるコードスニペットを追加してください。 – jackslash
スクロールを停止するために1回タップした後、何もしなかった別のタップで行を選択しようとしました。あなたが投稿したい特定のコード/メソッドがありますか?私が持っているのは、約20行の単純なテーブルビューです。私は行を2回選択した後に呼び出されるdidSelectRowAtIndexPathメソッドにブレークポイントを持っています... – user678229
すべて貼り付けてみてください。おそらくティムは正しいです... – jackslash