0

好吧,这可能很难描述,但我想要的是:

当应用程序启动时,我希望它加载几个组件,并且我想显示一个进度条,加载到 100% 完成。但是为了界面的缘故,我只想要桌面上的进度条。我不想要 Window 控件或背景。我的自定义进度条应该出现在桌面上,加载到 100%,然后显示窗口,从而显示整个应用程序。

顺便提一下,我希望在 Xcode 中开发的 Mac App 中使用它。

4

2 回答 2

4

我强烈建议你考虑一下你正在考虑的视觉效果和你所做的假设。我认为这是“糟糕的设计”:

  1. 用户可以将任何东西作为桌面图片。如果我的背景恰好是蓝色的……而您的自定义进度条是蓝色的……那么我将看不到进度条,并且会想知道为什么您的应用程序没有响应。 “去他妈的这个应用程序,我一启动它就挂了。删除!”
  2. 用户有可能运行了多个应用程序。您的“浮动进度条”会在其他应用程序窗口的海洋中丢失。(为什么 iTunes 正在加载一些东西?哦等等!!这是另一个没有窗口的东西...... “不直观!不酷”
  3. 这不是很像 Mac。不要忘记每个平台都有关于如何成为好公民的规则。Metro 应用程序需要遵循特定的接口范式。同样,“Mac-like”也有一些说法,我认为这种行为不是(浮动进度条)。

强烈建议您将进度条保持在正确命名的模式窗口中。应用程序进出最前面......所以了解进度条的相关内容也很重要。

如果您考虑了所有这些,以下问题应该可以帮助您入门: 如何使 NSView 透明并显示 NSWindow 下的内容?

于 2012-04-18T19:57:46.893 回答
0

您可能在谈论无边框NSWindow( NSBorderlessWindowMask),其 alpha 设置为零的不透明背景视图和NSProgressIndicator显示进度的子视图。您可能还想使用该-[NSWindow center]方法很好地居中您的窗口。

但是,我怀疑您是否想要那种 UI。进度条可能在所有桌面上都不可见,因此在美学上毫无价值。

我认为圆形、半透明的黑色窗口更适合您的情况。看看Matt Gemmell 的源代码

于 2012-04-18T19:56:59.133 回答