2 Stimmen

accessoryType Checkmark rückt UITableViewCell nach links ein

Wenn ich eine Zelle in meinem Tableview auswähle, wurde die Zelle durch das accessoryTypeCheckMark nach links verschoben.

meine benutzerdefinierte Zelle wurde programmatisch in eine Tabellenansicht eingefügt

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:
                                     indexPath];
    if (selectedCell.accessoryType == UITableViewCellAccessoryNone) {
        selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
    else {
        selectedCell.accessoryType = UITableViewCellAccessoryNone;
    }
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

1voto

Zack Morris Punkte 4504

Ich habe mir darüber auch die Haare gerauft, aber zum Glück konnte ich die linke Größenbeschränkung für meine Unteransicht im Interface Builder aktivieren, um sie links von der Zelle auszurichten. Die Beschränkungen für die Breite und die rechte Seite sind deaktiviert. In meinem Fall hält dies eine 100 Pixel breite UIView an der linken Seite der Zelle angeheftet, unabhängig davon, ob UITableViewCellAccessoryCheckmark angezeigt wird, und hält auch seine Breite konstant, auch wenn die Tabelle Zelle Breite ändert.

-1voto

Jasarien Punkte 57819

Je nach Inhalt der Zelle (genauer gesagt, je nachdem, wie weit der Text nach rechts reicht), wird der Inhalt neu gezeichnet, um Platz für das Häkchen zu schaffen.

Wenn Sie nicht möchten, dass sich der Text bewegt, müssen Sie den Zellinhalt selbst mit einer benutzerdefinierten Zellunterklasse zeichnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X