1

いつものように、テーブルビューセルに触れると、それが選択されます。しかし、テーブルビュー内の1つのセルが選択されないようにする必要があります。テーブルビューセルの選択を禁止するにはどうすればよいですか?

didSelectRowForIndexPath:メソッドを変更した後。今は動作します。Thx ALl :)セル(禁止する必要があります)を選択したら、selectRowAtIndexPathメソッドを使用して、以前に選択したセルを選択し、再度選択します。

4

4 に答える 4

2

正しい方法はを使用すること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;
}
于 2012-04-05T09:40:27.773 に答える
1

そのセルのユーザーインタラクションを無効にするか、そのセルの選択スタイルなしを設定できます。お役に立てば幸いです。

于 2012-04-05T07:40:31.570 に答える
1

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathメソッドで、選択できないようにするセルに次の行を追加します。

cell.selectionStyle = UITableViewCellSelectionStyleNone;

それが役に立てば幸い

編集

そして、あなたの-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法で、最初に以下を追加します:

if (indexPath == indexPathOfTheCellThatShouldntBeSelected) return;
于 2012-04-05T07:40:51.180 に答える
1

あなたのdidSelectRowForIndexPath:方法では、セルがあなたの品質基準を満たしているかどうかをチェックし、それに応じて、UIAlertViewそれが要件を満たしているかどうかを表示するか、先に進むことができます

于 2012-04-05T07:42:56.937 に答える