Ho un UITableView abbastanza vanigliato nella mia app utilizzata per visualizzare un'immagine e un testo nel modo standard/predefinito. La prima volta che viene richiesto UITableViewCell, lo restituisco con un'immagine segnaposto e avvio un download asincrono dell'immagine reale. Al termine del download sostituisco l'immagine segnaposto.UIImageView nel mio UITableViewCell cambia dimensione al clic
Se un download non riesce, l'immagine segnaposto rimane. Cliccando su una tale riga agisce normalmente. Se il download ha esito positivo, facendo clic su una riga con l'immagine desiderata, l'UIImageView si espande fino all'altezza della riga (e la larghezza aumenta con la scala). UIImageView non ritorna mai alle dimensioni normali. I grezzi tentativi di impostare il frame di UIImageView non alleggeriscono il problema del misterioso ridimensionamento.
// from my - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; method
// after boilerplate cell dequeuing code
cell.textLabel.text = [selectedNoun title];
// add placeholder image
UIImage *placeholderImage = [UIImage imageNamed:@"placeholder.png"];
cell.imageView.image = placeholderImage;
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit];
//...
// If the image has been downloaded I set it
cell.imageView.image = iconDownloader.image;
Questo mi sta facendo impazzire. In realtà accade solo in una delle due tabelle della mia app, ma dopo aver confrontato la linea o la linea non riesco a vedere alcuna differenza. Sperando che qualcuno si sia imbattuto in questo prima.
Grazie!
EDIT: Non ho una buona spiegazione per la mia soluzione se non per dire che le immagini di una certa dimensione sembrano portare a questo comportamento e l'uso di miniature reali (anche immagini un po 'più grandi della cornice di UIImageView) non esibire questo comportamento.
Se si dispone di UITableViewCell personalizzato, assicurarsi che UIImageView non abbia un nome con "imageView" – kalpeshdeo