J'ai un CAGradientLayer
que je veux mettre à l'échelle pendant que l'utilisateur traîne son doigt. Cependant, lorsque je définis le cadre, le calque s'anime à la nouvelle taille. Cela se produit également avec d'autres propriétés, y compris start/endPoint.Pourquoi mon CAGradientLayer anime-t-il toutes les modifications?
Voici un exemple:
_gradient.frame = CGRectMake(0, 480-toHeight, 320, toHeight);
Pourtant, si je l'appelle seulement quand l'utilisateur a traîné 10 ou si pixels, la couche ne saute pas simplement à la nouvelle taille, il anime une lisse, mais animation rapide facilitée. Je suis certain que ce n'est pas appelé dans un bloc d'animation. Pour déboguer davantage, j'anime également le cadre d'un UIView
dans la même portée et qui ne s'anime pas.
Je suis nouveau à CALayers
, alors peut-être que je fais quelque chose de mal.
Pouvez-vous poster du code? – mjisrawi
avez-vous enveloppé votre code à l'intérieur .. \t '[UIView beginAnimations: nil contexte: NULL];' et c'est 'commit' .. ou vous avez oublié de' commit' après l'avoir ouvert? Donc, comme @mjisrawi dit .. poster du code .. – rptwsthi