2010-08-31 2 views
1

Je viens de démarrer le développement de l'iPhone, et j'ai rencontré un problème ennuyeux. Je suis en transition d'une vue à l'autre, mais dans l'intervalle, je voudrais afficher une image de chargement.Impossible d'afficher UILabel ou UIImageView

Le contrôleur contient actuellement un TableView et un TabControl. J'ai ajouté une image et une étiquette au contrôle (d'une image de 'chargement') et les ai liées aux propriétés associées. Ils sont ensuite @ synthétisés dans le contrôle principal.

Si je mets ces deux éléments à 'cachés' dans le concepteur, ils n'apparaissent pas. Si je ne le fais pas, ils le font - ce qui est logique. Cependant, si je les ai tous deux mis en cache, appelez par la suite imageView.hidden = NO, cela n'apparaît pas. Y a-t-il quelque chose qui me manque? Si la propriété initiale est définie sur hidden = NO, je peux paramétrer ce paramètre sur YES, mais pas sur NO. La même chose s'applique lors de la définition du .alpha de ces contrôles.

Voir ci-dessous pour le code que j'utilise. Toute aide serait appréciée - merci :)

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

ForumThread *thread = [threadsArray objectAtIndex:indexPath.row]; 

loadingLabel.hidden = NO; 
imageView.hidden = NO; 

ThreadViewController *threadViewController = [[ThreadViewController alloc] initWithThreadId: [thread threadID]]; 

loadingLabel.hidden = YES; 
imageView.hidden = YES; 

[[self navigationController] pushViewController:threadViewController animated:YES]; 

threadViewController.title = [thread threadTitle]; 
[threadViewController release]; 
} 

Il devrait y avoir un écart d'environ 2s où l'image/étiquette devrait être visible. Toute aide serait appréciée!

+0

est l'imageView un IBOutlet connecté à votre XIB? – teriiehina

Répondre

0

Dans votre cas, label et imageView seront masqués. Parce qu'il n'y a pas de délai pour cacher l'étiquette. Vous pouvez utiliser la minuterie pour retarder la dissimulation. Essaye ça. Je ne l'ai pas testé.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

ForumThread *thread = [threadsArray objectAtIndex:indexPath.row]; 

loadingLabel.hidden = NO; 
imageView.hidden = NO; 

ThreadViewController *threadViewController = [[ThreadViewController alloc] initWithThreadId: [thread threadID]]; 

    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(ShowLabel) userInfo:nil repeats:NO]; 


[[self navigationController] pushViewController:threadViewController animated:YES]; 

threadViewController.title = [thread threadTitle]; 
[threadViewController release]; 
} 
-(void) ShowLabel 
{ 
loadingLabel.hidden = YES; 
imageView.hidden = YES; 
}