NSA*_*ict 5 iphone macos cocoa objective-c drawrect
像这样:

我知道这不会起作用NSShadow,把它拉进去drawRect:会很好用.
您可以使用Core Animations图层和shadowPath属性执行此操作和许多其他类型的阴影.您正在描述的阴影可以使用椭圆阴影路径.
产生这个阴影的代码如下.您可以调整椭圆的大小,使其具有更圆的阴影形状.您还可以使用图层上的阴影属性调整位置,不透明度,颜色和模糊半径.
self.wantsLayer = YES;
NSView *viewWithRoundShadow = [[NSView alloc] initWithFrame:NSMakeRect(30, 30, 200, 100)];
[self addSubview:viewWithRoundShadow];
CALayer *backingLayer = viewWithRoundShadow.layer;
backingLayer.backgroundColor = [NSColor orangeColor].CGColor;
// Configure shadow
backingLayer.shadowColor = [NSColor blackColor].CGColor;
backingLayer.shadowOffset = CGSizeMake(0, -1.);
backingLayer.shadowRadius = 5.0;
backingLayer.shadowOpacity = 0.75;
CGRect shadowRect = backingLayer.bounds;
CGFloat shadowRectHeight = 25.;
shadowRect.size.height = shadowRectHeight;
// make narrow
shadowRect = CGRectInset(shadowRect, 5, 0);
backingLayer.shadowPath = CGPathCreateWithEllipseInRect(shadowRect, NULL);
Run Code Online (Sandbox Code Playgroud)
只是为了展示使用相同技术创建的其他阴影的一些示例; 像这样的道路

会产生这样的影子

| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |