自定义用户界面对象

时间:2011-07-16 11:19:09

标签: objective-c macos user-interface xcode4

我怎么做“告知小组”这样

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:2)

在“界面”构建器中创建HUD面板吗?或纹理窗口,并将其纹理设置为您想要的?

答案 1 :(得分:1)

首先,您需要一个非透明的无边框窗口:

NSPanel *window = [[NSPanel alloc] initWithContentRect:windowFrame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];
[window setOpaque:NO];
[window setBackgroundColor:[NSColor clearColor]];

建议使用NSPanel,因为只有在需要时才能成为密钥(参见setBecomesKeyOnlyIfNeeded) 如果您需要在该窗口内进行一些用户交互,您还需要拥有NSPanel的自定义子类并覆盖canBecomeKeyWindow

然后您可以在xib中布局内容视图或创建NSView的自定义子类来表示窗口的内容视图并将其设置为自定义窗口:

[window setContentView:<your content view>];

最后在屏幕上显示窗口:

[window makeKeyAndOrderFront:nil];

如果您希望窗口显示在任何其他窗口上,您可以使用windowLevelNSWindow属性进行播放,但要小心并遵循Apple人机界面指南:)