有谁知道如何制作圆角的可可片,如下图所示?
Xcode 4 圆角表
我已经看遍了,但我似乎找不到任何东西。我不确定我是否在寻找错误的地方,或者这不是一种常见的做法。有任何想法吗?
有谁知道如何制作圆角的可可片,如下图所示?
我已经看遍了,但我似乎找不到任何东西。我不确定我是否在寻找错误的地方,或者这不是一种常见的做法。有任何想法吗?
编辑:事实证明,如果您的目标是 OS X Lion 或更高版本,这种行为会更容易——只需调用[sheet setOpaque:NO]
就足以启用圆角。
这种行为很容易重现。将您的工作表初始化为透明的无边框窗口:
self.sheet = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 300, 300) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered | NSTitledWindowMask defer:YES];
[self.sheet setOpaque:NO];
[self.sheet setBackgroundColor:[NSColor clearColor]];
将自定义视图添加为子视图:
[[self.sheet contentView] addSubview:[[IFWindowView alloc] initWithFrame:[[self.sheet contentView] frame]]];
该自定义视图应按如下方式进行绘制:
#define RADIUS 5.0
NSBezierPath *bezierPath = [NSBezierPath bezierPathWithRoundedRect:NSMakeRect(self.bounds.origin.x, self.bounds.origin.y + RADIUS, self.bounds.size.width, self.bounds.size.height) xRadius:RADIUS yRadius:RADIUS];
[[NSColor windowBackgroundColor] set]; // In production, use the appropriate color with alpha for transparency.
[bezierPath fill];
下面是一些示例代码来演示这一点:http: //d.pr/l9DB
据我所知,这是窗口的一个属性。如果是面板,它有方角,如果是窗口,则有圆角。至少这就是在 Mac OS 下发生的事情——不能保证 iOS。