2011-08-11 3 views
0

J'ai une classe qui affiche les messages sur les vues pendant quelques secondes puis disparaît. Lorsque je souhaite afficher un message sur un viewController, je crée simplement l'objet message basé sur cette classe et déclenche cet objet. Quelque chose comme:iPhone - affichant un message sur un UITableViewController

myMessageClass *message = [[myMessageClass alloc] init]; 
[self.view addSubview:message]; 
[message release]; 
[message showText:@"Hello world"]; 

mais maintenant je suis en utilisant cette classe de message sur une classe UITableViewController . Comment puis-je montrer le message sur le dessus de la table, sans être lié à la table elle-même.

J'ai essayé d'ajouter la vue comme ceci:

[self.tableView addSubview:message]; 

mais le message se déplacer si les mouvements de table. Je dois juste avoir le message dans une position fixe (non, l'en-tête ou le pied de table n'a pas assez de hauteur pour montrer l'objet de message.) Non, je ne veux pas utiliser un alertView

Y at-il un Apple manière bénie de le faire?

Répondre

1

Check out http://code.google.com/p/toast-notifications-ios/. Cela ressemble à l'équivalent d'un Toast Android.

Bien sûr, vous savez que vous pourriez vous rendre la vie un peu plus facile en utilisant une UIViewController régulière sous-classe avec un UITableView et définissez-le comme une source de données/délégué.En deçà de cela, dans une classe UITableViewController, UITableView = View alors vous allez avoir un temps difficile. Je peux penser à est de répondre aux mouvements de défilement dans la vue en utilisant les méthodes de délégué, à savoir -(void)scrollViewDidEndDecelerating.

Par exemple:

-(void)scrollViewDidEndDecelerating: (UIScrollView *)scrollView { 
    CGFloat offset = scrollView.contentOffset.y; 
    self.message.frame = CGRectMake(self.message.frame.origin.x,self.message.frame.origin.y + offset,self.message.frame.size.width,self.message.frame.size.height); 
} 

Cela peut ne pas être tout à fait exact, mais le long des lignes de ce que vous avez probablement besoin.

+0

merci, bonne réponse! – SpaceDog

Questions connexes