2009-11-14 7 views
3

Je souhaite effectuer une animation de réduction sur un UITableVIew. J'ai expérimenté un peu et découvert que l'animation s'exécute beaucoup plus rapidement quand je rétrécis un UIImageView avec une image de l'état actuel de la tableview au lieu de rétrécir la vue de la table elle-même.Obtenir une image à partir d'un uiview

Je saisis l'image dans une méthode dans ma principale viewcontroller avant l'animation:

UIGraphicsBeginImageContext(mainTableView.bounds.size); 

[resizeContainer.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 

UIGraphicsEndImageContext(); 

fonctionne comme un charme, au moins presque. En de très rares occasions, j'ai des problèmes graphiques étranges, où l'UIImage commence à chevaucher une barre d'outils qui se trouve en dessous. Je veux juste m'assurer que je reçois l'image de la bonne manière. Je suis la compréhension nécessaire de GraphicContexts pour être sûr à ce sujet.

Pour faire court, mon code est-il correct?

Thx

Répondre

0

Il est parti avec iOS 4.0. Donc je suppose que c'était un bug.

0

De quelle manière avez-vous animé la table? Je n'ai pas eu de problèmes pour l'animer lentement. Voici un exemple de ce que je faisais quand je devais redimensionner ma table:

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 
[mainTableView setFrame:CGRectMake(0,43,320,176)]; 
[UIView commitAnimations]; 

La raison pour laquelle je suggère de ne pas simplement prendre une capture d'écran, mais animant réellement la table est parce que l'animation pourrait commencer comme la table est toujours défilement Par exemple, l'utilisateur vient juste de bouger la table quand il commence à animer, alors vous auriez un saut au nouvel état lorsque vous perdez la "capture d'écran" que vous avez prise.

+0

Je fais un rétrécissement (comme l'animation des onglets dans le safari). Mes tableCells ont des tas de sous-vues. L'animation était vraiment cahoteuse avant de passer à cette méthode. – Monobono

Questions connexes