On Oct 22, 2008, at 12:09 AM, Patrick Mau wrote:

On 22.10.2008, at 02:54, DKJ wrote:

Me again. I've been using this code:

NSURL *url = [NSURL fileURLWithPath:fname];
CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)url, NULL);
        CGImageRef image = CGImageSourceCreateImageAtIndex(source, 0, NULL);
        CFRelease(source);
        
        theView.layer.contents = (id)image;

It compiles without complaint, but I'm still not seeing the image. I can see the effects of changing other properties of the layer (e.g. borderWidth). I've checked that image is not NULL. What am I missing here?

You are probably missing a '[theView.layer setNeedsDisplay];'

By default this will obliterate the contents that you have just set. Calling -setNeedsDisplay or -display will cause the layer to generate content and set the contents property to the result of that operation. If you set the contents property manually, you should never call - setNeedsDisplay or -display on that layer or the content you set will be lost. You can avoid this by implementing some delegate methods or subclassing a CALayer, but it is generally easier to avoid the issue entirely by maintaining control over the CALayer when doing this.
--
David Duncan
Apple DTS Animation and Printing

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to