0

ボタンがタップされたときに、セグメント化されたコントロールの値に基づいて条件付きでテーブル ビューをリロードしたいと思います。

したがって、私の buttonTapped メソッドには、配列項目をランダムに選択するこのコードがあります。ブロックではelse、選択したアイテムを配列から削除して、同じアイテムが再度選択されるのを防ぎたいと考えています。現在、配列から削除しています...

しかし、おそらく-mutableCopy配列の を作成し、そこから項目を削除することで、ボタンがタップされる前の状態にアプリを戻す機能が必要です。

アイテムを再度選択できないことを示すには、どのようなオプションが必要ですか? グレーアウト?色変更?行を削除しますか?

    if (selectionControl.selectedSegmentIndex == 0) {
        int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
        NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
    } else {
        //copyOfArray = [APP_DELEGATE.....]mutableCopy]; // Maybe?
        int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
        NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
    }
    [[[APP_DELEGATE itemsDictionary] objectForKey:category] removeObjectAtIndex:r];


    //[copyOfArray removeObjectAtIndex:r]; // Maybe?
    [self.tableView reloadData];
}

各 tableView メソッドで、APP_DELEGATE またはコピーから値を返す前に、selectionControl の状態を確認する必要があります。

ありがとう。

4

1 に答える 1

0

UITableCellView の "textLabel" メンバーにアクセスし、テキストの色を灰色に設定すると思います。

tableView:willSelectRowAtIndexPath: を実装して、その行が押されたときに NIL を返すことができます。これにより、その行を実際に選択できなくなります。

于 2010-10-25T01:03:44.273 に答える