いつものように、テーブルビューセルに触れると、それが選択されます。しかし、テーブルビュー内の1つのセルが選択されないようにする必要があります。テーブルビューセルの選択を禁止するにはどうすればよいですか?
didSelectRowForIndexPath:メソッドを変更した後。今は動作します。Thx ALl :)セル(禁止する必要があります)を選択したら、selectRowAtIndexPathメソッドを使用して、以前に選択したセルを選択し、再度選択します。
いつものように、テーブルビューセルに触れると、それが選択されます。しかし、テーブルビュー内の1つのセルが選択されないようにする必要があります。テーブルビューセルの選択を禁止するにはどうすればよいですか?
didSelectRowForIndexPath:メソッドを変更した後。今は動作します。Thx ALl :)セル(禁止する必要があります)を選択したら、selectRowAtIndexPathメソッドを使用して、以前に選択したセルを選択し、再度選択します。
正しい方法はを使用することtableView:willSelectRowAtIndexPath:
です。
他のすべての答えとは異なり、これはセグエでも機能します;-)
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath should not be selected) {
// if another indexPath should be selected instead return this indexPath
return nil;
}
return indexPath;
}
そのセルのユーザーインタラクションを無効にするか、そのセルの選択スタイルなしを設定できます。お役に立てば幸いです。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
メソッドで、選択できないようにするセルに次の行を追加します。
cell.selectionStyle = UITableViewCellSelectionStyleNone;
それが役に立てば幸い
編集
そして、あなたの-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法で、最初に以下を追加します:
if (indexPath == indexPathOfTheCellThatShouldntBeSelected) return;
あなたのdidSelectRowForIndexPath:
方法では、セルがあなたの品質基準を満たしているかどうかをチェックし、それに応じて、UIAlertView
それが要件を満たしているかどうかを表示するか、先に進むことができます