objective-c – Cocoa Mac Sheet圆角(与Xcode 4一样)
发布时间:2020-12-16 03:33:18 所属栏目:百科 来源:网络整理
导读:有谁知道如何制作带有圆角的可可纸,如下图所示? Xcode 4圆形表 我看了一遍,但似乎无法找到任何东西.我不确定我是否在寻找错误的地方,或者这是不是一种常见的做法.有任何想法吗? 解决方法 编辑:事实证明,如果你的目标是OS X Lion或更高版本,这种行为会更容
有谁知道如何制作带有圆角的可可纸,如下图所示?
Xcode 4圆形表 我看了一遍,但似乎无法找到任何东西.我不确定我是否在寻找错误的地方,或者这是不是一种常见的做法.有任何想法吗? 解决方法
编辑:事实证明,如果你的目标是OS X Lion或更高版本,这种行为会更容易 – 只需调用[sheet setOpaque:NO]即可启用圆角.
这种行为很容易重现.将工作表初始化为透明无边框窗口: self.sheet = [[NSWindow alloc] initWithContentRect:NSMakeRect(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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |