0
Core Animation Programming Guide讓我相信,默認情況下,子圖層可以擴展到主視圖的邊界之外而不會被裁剪。但那不是我所發生的事情。爲什麼我的CALayer被我的NSView截斷?
下面是如何初始化我的層託管自定義視圖:
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self != nil) {
mBaseImage = [[NSImage imageNamed: @"Button.png"] retain];
mSliderImage = [[NSImage imageNamed: @"Track.png"] retain];
mRootLayer = [CALayer layer];
mRootLayer.masksToBounds = NO;
[self setLayer: mRootLayer ];
[self setWantsLayer: YES];
mRootLayer.contents = mBaseImage;
mSliderLayer = [CALayer layer];
[mRootLayer addSublayer: mSliderLayer];
NSSize imSize = [mSliderImage size];
NSRect sliderBounds = NSMakeRect(0.0f, 0.0f, imSize.width, imSize.height);
mSliderLayer.bounds = sliderBounds;
mSliderLayer.contents = mSliderImage;
mSliderLayer.position = NSMakePoint(31.0f, 31.0f);
}
return self;
}
主視圖,用作其內容的圖像,是62x62,而子圖像是90x10。但是整個事情被限制在62x62範圍內。我錯過了什麼?