Je veux poster un message et une photo sur Twitter (en utilisant un hébergeur d'images). Si l'utilisateur entre seul un message, puis appuie sur Envoyer, ma superposition apparaît et affiche "Envoyer un message à Twitter". Si l'utilisateur ajoute une image, elle ne l'affiche pas. Peut-être parce qu'il doit le convertir en jpg et quelle charge lourde? Mon code ressemble à ceci:iPhone: L'écran ne se redessine pas lorsque je fais quelque chose de lourd _afterwards_
[overlayMessage changeTextTo:NSLocalizedString(@"keySendTwitter", nil)];
overlayMessage.hidden = NO;
overlayMessage.locked = YES;
// I've added these out of desperation :P
[overlayMessage setNeedsDisplay];
[self.view setNeedsDisplay];
[self sendMessage];
Il semble que les deux messages (changeTextTo: et sendMessage :) sont en cours d'exécution en parallèle et que sendMessage est un peu plus rapide avec faire le chargement lourd. Mais cela nécessiterait un threading et mon application n'est pas multithread.
Ou peut-être setNeedsDisplay: le mauvais message est-il de mettre à jour l'écran avant le chargement lourd?
Je sais que performSelector. Mais le code de sendMessage provient de ShareKit. Ce n'est pas fait en pensant à l'esprit: P – david
donc il plante quand vous utilisez performSelector? –
Je suppose que votre vrai problème est l'opération de redimensionnement de l'image. ShareKit effectuera des opérations réseau asynchrones. Y at-il un moyen de le faire à l'avance, ou en arrière-plan avec NSOperationQueue? Dans mes applications photo, j'ai un NSOperationQueue traitant toutes les nouvelles photos dans une vignette et une image d'écran (avec le haut rez) –