2017-12-13 1 views
0

Ich bin neu in Objective C. Ich habe die UITableView in, dass ich die Zelle tableview von oben nach unten auch ohne Auswahl der ersten Zelle die zweite Zelle wird nicht ausgewählt werden und der Benutzer nicht in der Lage, die dazwischen liegenden Zellen auch auswählen kann hilf mir, wie ich das lösen kann?
Ich habe hier das Beispielbild hinzugefügt, wenn der Benutzer die erste Zelle ausgewählt hat, die die zweite Zelle aktivieren soll. Wenn der Benutzer die zweite Zelle auswählt, möchte die dritte Zelle die verbleibenden Zellen deaktivieren.Wie wählt man die UITableViewCell von oben nach unten in Ziel c?

enter image description here

enter image description here

- (void)viewDidLoad { 
     [super viewDidLoad]; 

     self.colors = [[NSArray alloc] initWithObjects: @"Red", @"Yellow", @"Green", 
         @"Blue", @"Purpole", nil]; 
    } 


    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 

     return 1; 
    } 

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

     return [self.colors count]; 
    } 

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
     static NSString *CellIdentifier = @"cell"; 
     UITableViewCell *cell = [tableView 
           dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

     cell.textLabel.text = [self.colors objectAtIndex:indexPath.row]; 

     return cell; 
    } 
+0

Sie müssen noch einmal schreiben, was möchten Sie tun? zeichne es oder etwas –

+0

besser erklären Sie mit echtem szenario ... –

+0

danke für Ihre Antwort ich redigierte meine Frage als Teil Ihrer Anfrage – user19

Antwort

0

Ihre Frage nicht klar ist, hoffen, dass Sie ein Problem haben mit der Auswahl mehrzelligen machen: UITableView durch tableView.allowsMultipleSelection = true; mehrere Zellen wählen Sie Zulassen. Und dann kann ein Benutzer eine beliebige Anzahl von Zellen in der Tabelle auswählen.

+0

danke für deine antwort Ich habe meine Frage als Teil deiner Anfrage bearbeitet. Ich brauchte mehrere Auswahl von oben nach unten, ohne die erste Zelle auszuwählen, die der Benutzer nicht in der Lage sein sollte, die nächste Zelle auszuwählen. – user19

+0

Sie müssen Ihre Spaltenüberschriften in den UITableView-Header verschieben, dann erhalten Sie das Häkchen für die Spaltentitelzeile nicht. Andernfalls, wenn Sie mit dem gleichen gehen wollen dann verwenden Sie 'UITableView Delegate' 'tableView :(didSelectRowAtIndexPath:' und überprüfen Sie für den Index 0 und zurück: if (indexPath.row == 0) return; –

+0

Ich brauche diese Header nicht Ich brauche, wenn die erste Zelle aktiviert ist die zweite Zelle zu aktivieren, das ist es – user19

0

Auf diese Weise können Sie die aktuelle Zeile auswählen und die nächste Zeile zur Auswahl aktivieren. Sie müssen einen anderen Weg behandeln, um andere Zeilen in der cellForRowAtIndexPath Methode zu deaktivieren.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    cell.checkMark.selected = YES; 
    NSString *cellText = cell.textLabel.text; 

    if(self.colors.count < indexPath.row+1 ){ 
    NSIndexPath *nextIndexPath = [NSIndexPath indexPathForRow:indexPath.row+1 inSection:0]; 
    UITableViewCell *nextCell = [tableView cellForRowAtIndexPath:nextIndexPath]; 
    nextCell.checkMark.userInteractionEnabled = YES; 
    //OR 
    nextCell.userInteractionEnabled = YES; 
    } 
} 
Verwandte Themen