[UIWebView] ne charge pas son contenu .... sauf au reload.
Bonjour à tous,
Dans une application, je veux afficher le détail d'un article que je reçoit en Json. Jusque là , pas de soucis, je sais remplir mon dictionnaire avec les détails de l'article.
Mais quand je veux remplir ma UIWebView, elle reste désespérément vide jusqu'à ce que je scroll l'écran assez bas pour que la UIWebView se reload et là , le contenu est bien rempli.
Cette UIWebView est contenue dans une UITableViewCell personnalisée via IB. Voici comment je l'alimente :
ActualitesContenuTableViewCell *contenuCell = [tableView dequeueReusableCellWithIdentifier:@ActualitesContenuCell forIndexPath:indexPath];
[contenuCell.txtContenu loadHTMLString:[_dicoActu objectForKey:@ActualiteTexte] baseURL:nil];
NSLog(@Text : %@", [contenuCell.txtContenu stringByEvaluatingJavaScriptFromString:@document.documentElement.innerText]);
return contenuCell;
Quand le détail de l'actualité s'affiche, le NSLog me retourne "(null)" mais quand je scroll pour que la UIWebView se reload, le NSLog me renvoie bien le contenu de l'actualité.
Si vous avez une idée, ou une piste, je suis preneur
Merci.
Edit : Ah, et mon dictionnaire (_dicoActu) est bien alimenté, lui, dès le premier appel.
Réponses
Bon, apparemment, le problème viendrait du calcul de la taille de ma UITableViewCell.
Je fais quelque chose comme ça dans heightForRowAtIndexPath :
Mais apparemment la taille de la cellule reste sur la taille de la UIWebView par défaut (que j'ai défini à 40).
J'ai cette méthode :
Quand je fais ça, la taille retournée dans heightForRowAtIndexPath est toujours de 40 (ce que j'ai défini dans IB), mais pourtant, quand je fais du pas à pas, la taille calculée est de 803.
Du coup, là je me retrouve avec une UIWebView qui a manifestement la taille voulue, mais une cellule qui elle, est à 40.
Je suis sur que ce n'est pas grand chose mais je n'arrive pas à voir ce que j'ai oublié, merci de votre aide.