Добавить фон в IKImageView - PullRequest
1 голос
/ 20 июня 2011

Я хочу добавить фон шахматной доски в IKImageView для просмотра прозрачных изображений. Я пытаюсь установить CALayer с изображением шахматной доски на IKImageView с сообщением setOverlay: forType

CFURLRef imageURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(),(CFStringRef)@"bgImage.png", NULL, NULL);
CGImageSourceRef imageSource = CGImageSourceCreateWithURL(imageURL,NULL);
CFRelease(imageURL);
CGImageRef image = CGImageSourceCreateImageAtIndex(imageSource, 0,NULL);
CFRelease(imageSource);
CALayer *bgLayer = [[CALayer alloc] init ];
[bgLayer setContents:image ];
[ imageView setOverlay:bgLayer forType:IKOverlayTypeBackground ];

но не работает. Я получаю это сообщение в консоли

could not add '<CALayer: 0x101d039a0>' linkedTo 'kIKRootLayerType'

Кто-нибудь знает, что не так или любой обходной путь?

Спасибо

1 Ответ

1 голос
/ 28 июня 2011

Сообщение об ошибке вызвано тем, что представление не прикреплено к виду сверху.

Наконец, я добавил фон шахматной доски в контейнер NSScrollview IKImageview, таким образом, фоновый слой автоматически изменяет размер

CALayer *layer=[[SquareBackgroundLayer alloc] init];
[[ scrollView contentView] setLayer:layer];
[ layer release ];

Надеюсь, это кому-нибудь пригодится.

...