Re: CALayer doesn't resize immediately
Re: CALayer doesn't resize immediately
- Subject: Re: CALayer doesn't resize immediately
- From: "Bertrand Landry-Hetu" <email@hidden>
- Date: Thu, 8 Nov 2007 03:42:46 -0800
adding the list.
2007/11/8, Bertrand Landry-Hetu <email@hidden>:
> I don't think it is a question of performance. I think it's that
> sometimes we change a property on a layer and expect it to be instant,
> but instead it is being animated.
>
> So far I have found 2 ways of removing animations.
>
> If you have changed the property directly, you can call [myLayer
> removeAllAnimations] which forces the layer to go directly to the
> final value. That won't work in your case since its the layout manager
> that changes the sizes and position for you.
>
> The other way I found is to disable the default animation for that property:
>
> NSDictionary * disabledAnimation = [NSDictionary
> dictionaryWithObjectsAndKeys: [NSNull null], @"bounds", [NSNull null],
> @"position", nil];
>
> myLayer.actions = disabledAnimation;
>
>
> 2007/11/7, Axel Péju <email@hidden>:
> > Hi again,
> >
> > Using autoresizingMaks works far better. But after some hours of work,
> > I came with the conclusion that CAConstraintLayoutManager performances
> > are not what I expect them to be. Even with the Core Animation
> > provided - CovertFlow - example, I clearly see the layers translate
> > when I resize the view.
> > The problem is that I really need to use CAConstrainLayoutManagers,as
> > my application does more than the project I included in the first mail.
> >
> > Maybe some of you could confirm this issue, it might be a PPC-only
> > issue. I hope there is a fix in 10.5.1 if this is a bug...
> >
> > Axel
> >
> > Le 7 nov. 07 à 11:08, Thomas Schlömer a écrit :
> >
> > > Hi,
> > >
> > > my first guess:
> > >
> > > Instead of configuring the constraints like this
> > >
> > >> [sublayer addConstraint:[CAConstraint
> > >> constraintWithAttribute:kCAConstraintMinX
> > >>
> > >> relativeTo:@"superlayer"
> > >>
> > >> attribute:kCAConstraintMinX]];
> > >>
> > >> [sublayer addConstraint:[CAConstraint
> > >> constraintWithAttribute:kCAConstraintWidth
> > >>
> > >> relativeTo:@"superlayer"
> > >>
> > >> attribute:kCAConstraintWidth]];
> > >>
> > >> [sublayer addConstraint:[CAConstraint
> > >> constraintWithAttribute:kCAConstraintMidY
> > >>
> > >> relativeTo:@"superlayer"
> > >>
> > >> attribute:kCAConstraintMidY]];
> > >>
> > >> [sublayer addConstraint:[CAConstraint
> > >> constraintWithAttribute:kCAConstraintHeight
> > >>
> > >> relativeTo:@"superlayer"
> > >>
> > >> attribute:kCAConstraintHeight]];
> > >
> > >
> > > it should be sufficient to write
> > >
> > >> [sublayer addConstraint:[CAConstraint
> > >> constraintWithAttribute:kCAConstraintWidth
> > >>
> > >> relativeTo:@"superlayer"
> > >>
> > >> attribute:kCAConstraintWidth]];
> > >>
> > >> [sublayer addConstraint:[CAConstraint
> > >> constraintWithAttribute:kCAConstraintHeight
> > >>
> > >> relativeTo:@"superlayer"
> > >>
> > >> attribute:kCAConstraintHeight]];}
> > >
> > >
> > > , i.e., just constraining the width and height in relation to the
> > > superlayer.
> > >
> > > However, a more elegant solution should be to simply write:
> > >
> > > sublayer.autoresizingMask = kCALayerWidthSizable |
> > > kCALayerHeightSizable;
> > > sublayer.layoutManager = [CAConstraintLayoutManager layoutManager];
> > >
> > >
> > > All this without actually testing it.
> > >
> > > Thomas S.
> > >
> > > --
> > > Oldenburg University - Department of Computer Science
> > > Media Informatics and Multimedia-Systems
> > > Phone: +49 441 9722-175 - Fax: +49 441 9722-102
> > > Escherweg 2 - D-26121 Oldenburg
> > >
> >
> > _______________________________________________
> >
> > Cocoa-dev mailing list (email@hidden)
> >
> > Please do not post admin requests or moderator comments to the list.
> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >
> > Help/Unsubscribe/Update your Subscription:
> >
> > This email sent to email@hidden
> >
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden