2010-03-18 4 views
2

J'ajoute un UITextView à un UIView par programmation. UITextView devrait avoir un arrière-plan clair dès le départ, mais l'arrière-plan est animé du blanc au clair. Comment puis-je empêcher cette animation? Voici mon code:Définir UITextView backgroundColor à clearColor l'anime - comment l'éviter?

UITextView *localTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 230, 60)]; 
localTextView.opaque = NO; 
localTextView.backgroundColor = [UIColor clearColor]; 
localTextView.font = [UIFont fontWithName:@"Helvetica" size:14]; 
localTextView.userInteractionEnabled = NO; 
self.textView = localTextView; 
[localTextView release]; 

textView.text = @"Cras sit amet purus vitae libero venenatis luctus sit amet non urna. Curabitur volutpat adipis cing nulla, in lacinia eros pulvinar vitae."; 

[self addSubview:textView]; 

Merci pour votre aide.

+0

Je ne suis pas en mesure de reproduire le changement d'animation dans backgroundColor en fonction du code que vous avez fourni. Faites-vous cela dans une classe UIView ou UIViewController? Combien de temps dure l'animation de changement de couleur? Créez-vous un bloc d'animation en utilisant UIView beginAnimations: context: anywhere? –

+0

Cela dure environ une seconde. Je pense que cela pourrait être lié au problème d'actualisation hors écran de UITextView? J'ai trouvé cela mentionné près du bas de la page ici http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html dans un excellent article par Matt Gallagher. J'utilise UITextView dans les vues hors écran dans un UIScrollView. La chose que je ne comprends pas est ... la vue qui est à l'écran (la première page dans le scrollview) le fait aussi. Je suis mystifié. – wanderlust

+0

J'utilise UITextView dans une vue personnalisée qui étend UIView. La vue est chargée dans un UIScrollView. – wanderlust

Répondre

1

Vous pouvez configurer votre vue dans le

-(void)viewWillAppear:(BOOL*)animated; 

méthode

0

Cela pourrait être un poste très vieux, mais j'eu le même problème après avoir poussé programme un UIViewController avec un UITextView comme il est principal vue sur une pile UINavigationController.

Je résolu cela dans Swift 2.2 avec iOS 8+ API comme ceci:

UIView.performWithoutAnimation { 
    textView.backgroundColor = UIColor.clearColor() 
} 
Questions connexes