2012-04-18 303 views
0

那么,它可能很难形容,但我想这一点:显示进度条在桌面(透明窗口) - 可可

当应用程序大火了,我想它加载了几个组件,我想显示进度条加载至100%完成。但为了界面的缘故,我只想在桌面上放置进度条。我不想要窗口控件或背景。我的自定义进度条应显示在桌面上,最高可达100%,然后显示窗口,从而显示整个应用程序。

只要提一下,我想在Mac应用程序正在开发的Xcode。

回答

4

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

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

我会强烈建议您坚持正确命名的模态窗口中的进度条。应用程序进入和退出最前端......因此了解进度条与什么关系也很重要。

如果你认为所有的这些,以下问题应该可以帮助您开始: How to make an NSView transparent and show what's under the NSWindow?

+0

那么,你有一些我并不十分注意的有效和重要的观点。谢谢(你的)信息。我可能会考虑将它放在带有应用程序标题的HUD面板中。这应该工作。 谢谢Qwerty Bob。干杯! – proctr 2012-04-19 07:07:10

0

您可能正在谈论无边界NSWindowNSBorderlessWindowMask),其背景视图的透明度设置为零,子视图用于显示进度。您也可能想要使用-[NSWindow center]方法来很好地将窗口居中。

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

我认为一个圆形的半透明黑色窗口将更适合您的情况。看看Matt Gemmell's source code

+0

是的,你说得对。从界面的角度来看,这不是一个好主意。正如Qwerty Bob上面提到的那样,我需要考虑一些问题。 NSBorderLessWindowMask稍后可以在我的项目中使用。所以谢谢你的信息。干杯! – proctr 2012-04-19 07:09:15