2010-10-17 2 views
9

Können Sie einer uitableview-Zelle eine Schaltfläche als Unteransicht hinzufügen und diese klickbar haben, aber nicht die Zelle selbst. zB: Ich möchte nicht, dass die ausgewählte Ansicht angezeigt wird. Obvs Ich kann die Zelle einfach nirgendwo veröffentlichen lassen, aber ich möchte nicht, dass sie "ausgewählt" aussieht, wenn jemand sie anklopft.UItableViewCell - nicht erlauben, die Zelle zu wählen, aber kann immer noch Tasten drinnen drücken?

Wenn Sie die Benutzerinteraktion auf NEIN setzen, wird das ganze nicht aktiviert, einschließlich der Schaltflächen.

Irgendwelche Ideen?

Vielen Dank.

Tom

Antwort

14

dieses Delegatmethode implementieren:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    return nil; 
} 

und stellen Sie die UITableViewCells selectionStyle Eigenschaft UITableViewCellSelectionStyleNone

+1

Dank. :) und mehr Zeichen ... –

19
cell.selectionStyle = UITableViewCellSelectionStyleNone; 

Diese in die Zelle verhindern, bevor die willSelect kehrt ein wenig zu markieren

+2

Dies sollte als die richtige Antwort markiert werden, indem der 'selectionStyle' auf diese Weise eingestellt wird, reagiert die Zelle überhaupt nicht auf irgendwelche Taps. Wenn Sie die Methode in der gewählten Antwort verwenden, blinkt die Zelle für einen Sekundenbruchteil immer noch den ausgewählten Zustand (dunklerer Hintergrund). – alexpls

0

O r Sie können die Benutzerinteraktion im Inspektor Attribute der Zellenschnittstellendatei deaktivieren. Lokalisieren Sie den Abschnitt: "Ansicht" und den Untertitel: "Interaktion", hier haben Sie: "Benutzerinteraktion aktiviert".

0

Wählen Sie einfach die Option „keine Auswahl“ auf dem Inspektoren Attribute wie im Bild

Verwandte Themen