J'ai un Cependant, lorsque je déchaîne le Je veux être capable de fader la vision de ScrollView et de tout ce qu'il contient en même temps dans la même animation - c'est-à-dire ne révélant aucune des images partiellement couvertes. P> Si ce n'est pas possible , Je peux toujours ajouter un J'ai essayé ceci: p> et j'ai essayé ceci: p> uiscrollview code> qui contient diverses sous-visions (
uiimageviews code>,
uilabels code> et standard
uIViews code>). Certaines des
uiimageviews code> sont partiellement couvertes par d'autres
uIViews code>.
Uiscrollview code>, les parties partiellement couvertes du
uiImageviews code> sont exposées pour le bref moment de l'animation. P>
uiview code> sur tous les autres commandes et la fondue de l'alpha 0 jusqu'à 1 pour tout cacher, mais je suis sûr qu'il y a un moyen d'effectuer une fade complète sur une vue et Toutes ses sous-espages. P>
- (IBAction)questionGroupChanged:(UIButton*)sender {
[UIView beginAnimations:nil context:NULL];
[self fadeViewHierarchy:scrollViewResults toAlpha:0.0f];
[UIView commitAnimations];
}
- (void)fadeViewHierarchy:(UIView*)parentView toAlpha:(float)alpha {
[parentView setAlpha:alpha];
for (UIView *subView in parentView.subviews) {
[self fadeViewHierarchy:subView toAlpha:alpha];
}
}
3 Réponses :
Avez-vous essayé avec UIView Classe Méthodes + AnimateWithDuration: * (disponible sur iOS 4 et +)
J'aime: p>
- (void)fadeAllViews { [UIView animateWithDuration:2 animations:^{ for (UIView *view in allViewsToFade) view.alpha = 0.0; } completion:^(BOOL finished){} ]; }
Cela se produit à cause de la façon dont le compositeur fonctionne. Vous devez activer la rasâtre sur la couche de la vue lors de la décoloration in / une sortie:
view.layer.shouldRasterize = YES;
N'oubliez pas non plus de définir l'échelle appropriée, sinon vos amateurs de rasterized auront l'air de Shitty sur des écrans de rétine. Voir.Layer.RasterizationCale = [UISCREEN Mainscreen] .cale;
La réponse de Mike est la bonne et il mérite tout crédit pour cela. Juste pour illustrer, il pourrait ressembler à: Ainsi, en utilisant votre ScrollViewresults code>, il serait appelé comme suit: P>
[self fadeView:scrollViewResults toAlpha:0.0f];
Merci pour l'illustration @rob