/ / NSImageView z CALayer on Top - makra, kakao, rdzeń-animacja, calayer, nsview

NSImageView z CALayer on Top - makra, kakao, rdzeń-animacja, calayer, nsview

Celem jest tutaj, aby warstwa wyboru była włączonatop "z NSImageView widziane przez użytkownika, jednak moja warstwa selekcji w jakiś sposób kończy się na" plecach "Oto moje przesłonięte -setImage z mojej podklasy NSImageView:

-(void)setImage:(NSImage *)newImage {

if(newImage) {

// compute image location in view

_imageLocation.x = ( [self frame].size.width - [newImage size].width ) / 2.0;
_imageLocation.y = ( [self frame].size.height - [newImage size].height ) / 2.0;

// call to parent
[super setImage:newImage];

if(_pixelDataManager) {
_pixelDataManager = nil;
}
_pixelDataManager = [[PixelDataManager alloc] initWithImageForData:newImage];

_selectionLayer = [CALayer layer];

[_selectionLayer setBorderColor:[[NSColor yellowColor] CGColor]];

[_selectionLayer setBorderWidth:2.0];

[_selectionLayer setCornerRadius:0.0];

[[self layer] addSublayer:_selectionLayer];

}
else {

[super setImage:nil];
_pixelDataManager = nil;
_imageLocation.x = 0.0;
_imageLocation.y = 0.0;

}
}

Obserwuj żółte pole za obrazem

Tutaj skupia się na żółtym polu. Mam podobny kod dla niestandardowego NSView w innym projekcie i to wydaje się być w porządku, ale nie mogę zrozumieć, dlaczego to nie działa dla NSImageView.

Odpowiedzi:

0 dla odpowiedzi № 1

Dzięki mohacom odpowiedział na pytanie.