• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: CATextLayer and CAConstraint
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CATextLayer and CAConstraint


  • Subject: Re: CATextLayer and CAConstraint
  • From: Aaron Tait <email@hidden>
  • Date: Sun, 18 Nov 2007 13:02:15 -0500

Bill, I tried your solution but it did not help. Fortunately however, I have found a working solution. It looks like the constraints mess with the sizing and bounds of my CATextLayer making it only 1 unit in size. I have added the following constraint and it produces a desirable result:
[fileNameLayer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintWidth relativeTo:@"superlayer" attribute:kCAConstraintWidth]];


-Aaron

On 18-Nov-07, at 8:26 AM, Bill Dudney wrote:

Hi Aaron,

When trying to manipulate layers like this its best if you use a layer hosting view rather than a layer backed view. If you rely on the layer the view creates for you its often the case that you get weird behavior like this.

Instead in your awakeFromNib method you can make your view layer hosting;
myLayer = [CALayer layer];
// other myLayer initilization
[myView setLayer:myLayer];
[myView setWantsLayer:YES];


then you can add sublayers as in your addFileNameLayer: below and everything should work.

As an alternative you could simply create a text field as a label and add it as a subview of your current setup and it will become layer backed since you are adding it to a view that is layer backed.

HTH,

-bd-
http://bill.dudney.net/roller/objc

On Nov 18, 2007, at 1:00 AM, Aaron Tait wrote:

I've been pulling my hair out trying to get a CATextLayer to work with a couple of CAConstraints. The following is a method implemented in a layer backed view and the following call is made in the view's awakeFromNib:
self.layer.layoutManager = [CAConstraintLayoutManager layoutManager];


The method is as follows:

-(void)addFileNameLayer:(NSString *)fileName
{
CATextLayer * fileNameLayer = [CATextLayer layer];
fileNameLayer.string = fileName;
fileNameLayer.name = @"fileNameLayer";
fileNameLayer.fontSize = 14.0;
fileNameLayer.alignmentMode = kCAAlignmentCenter;
fileNameLayer.wrapped = YES;
fileNameLayer.anchorPoint = CGPointMake(0.5, 0.5);
fileNameLayer.bounds = CGRectMake(0, 0, 320, 50);
[fileNameLayer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMidX relativeTo:@"superlayer" attribute:kCAConstraintMidX]];
[fileNameLayer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMidY relativeTo:@"superlayer" attribute:kCAConstraintMidY offset:-100]];
[self.layer addSublayer:fileNameLayer];
}


When the code executes, it displays nothing. I also add another plain old CALayer before I call this method with similar constraints and it works out fine. Anyone help would be appreciated.

-Aaron
_______________________________________________

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


  • Follow-Ups:
    • Re: CATextLayer and CAConstraint
      • From: Scott Anguish <email@hidden>
References: 
 >CATextLayer and CAConstraint (From: Aaron Tait <email@hidden>)
 >Re: CATextLayer and CAConstraint (From: Bill Dudney <email@hidden>)

  • Prev by Date: Re: Ruby/Python - mixed language apps, and garbage collection
  • Next by Date: Re: Accessing C++ class method from ObjC++ code
  • Previous by thread: Re: CATextLayer and CAConstraint
  • Next by thread: Re: CATextLayer and CAConstraint
  • Index(es):
    • Date
    • Thread