2012-03-31 8 views
1

Ich habe eine UITableViewCell Unterklasse mit diesem drawRect:Edit-Modus für benutzerdefinierte UITableViewCell mit drawRect

- (void)drawRect:(CGRect)rect 
{ 
    [super drawRect:rect]; 

    if (self.checked) 
    { 
     [[UIImage imageNamed:@"checkMark.png"] drawInRect:CGRectMake([self.contentView bounds].origin.x + 10, 12.0, 22, 22)]; 
    } 
} 

Das Problem tritt auf, wenn die Zelle in den Bearbeitungsmodus geht und das gezeichnete Bild auf der rechten Seite nicht wie der UITextField bewegen und Zubehöransichten tun. Stattdessen wird das Bild durch die Schaltfläche Löschen ausgeblendet. Wie kann ich das gezeichnete Bild nach rechts animieren lassen?

Danke für Ihre Hilfe.

Antwort

1

Sie müssen Ihre Zelle neu zeichnen, wenn Sie den Bearbeitungsmodus aufrufen. Normalerweise wird nur die Größe der Inhaltsansicht geändert, wodurch das Häkchen nicht neu gezeichnet wird.

Allerdings zu animieren das ist ein wenig schwieriger, da Sie direkt das Häkchen zeichnen. Sie könnten stattdessen versuchen, es direkt in der Inhaltsansicht zu zeichnen oder eine Teilansicht zur Inhaltsansicht hinzuzufügen, die das Häkchen enthält - dies wird automatisch verschoben.

Sie könnten sogar die eingebaute Bildansicht verwenden, scheint es in etwa die richtige Position zu sein?

+0

Ich habe die eingebaute Bildansicht verwendet und animiert genau wie das eingebaute Textfeld. Vielen Dank! Ich denke, Sie haben Recht, dass das Zeichnen in die contentView den Trick auch getan hätte, aber mit meiner eigenen contentView würde ich das eingebaute Textfeld verlieren. Gut zu erinnern, wenn ich eine flache Zelle nur mit gezogenem Inhalt brauche (für Geschwindigkeit). Nicht notwendig für den fraglichen Tisch. – Gonzalo

Verwandte Themen