问题标签 [nsprogressindicator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
472 浏览

objective-c - NSMenuItem 中的 NSProgressIndicator 未在第二次显示时更新

我有一个NSMenu附加到一个NSStatusItem(菜单栏应用程序)。下载文件时,我想在此菜单的一项中显示 NSProgressIndicator。我NSViewController为此进度指示器创建了一个具有以下属性的子类:

需要时,我使用以下代码开始下载文件,该代码在其中运行,NSRunLoopCommonModes以便在NSMenu显示时也调用委托方法(在 中运行NSEventTrackingRunLoopMode):

然后在didReceiveData委托方法中设置NSViewController子类的属性:

如果我将属性绑定到标签,这非常有用,但是如果我在连接开始之前NSProgressIndicator打开菜单,并且在下载完成之前不要再次关闭它,则唯一的更新。但是如果我之后打开它,进度指示器不会更新。它显示了我打开菜单时属性的值,但该值不会更新。然后进度指示器也没有动画。请注意,标签确实有效...

当我更改值时,我尝试在自定义视图和进度指示器上手动调用setNeedsDisplayYES调用displayom,但这不起作用。修复进度指示器的唯一方法是[progress setHidden:YES]; [progress setHidden:NO];快速连续调用,但这会导致进度指示器闪烁,这当然是一个糟糕的解决方案。

我究竟做错了什么?我该如何解决这个问题NSProgressIndicator

0 投票
2 回答
753 浏览

objective-c - 在非常苛刻的应用程序上强制更新 UI

这是我的问题:我有一个应用程序必须进行数百万次计算(这是为了发表一篇科学论文)。

所以为了加快计算速度,我学到了一点关于线程的知识并做了这个:

Magic.m我有一个名为的方法defineListOfSameDonInparticule:,其中有:

在这段代码中,我[appDelegate increaseProgressionMeterByOne]向我的应用程序委托发送了一条消息,该委托又将 incrementBy:1 发送到我的进度条

但是我所有的线程都被同时发生的数百万次计算使用,所以 UI 冻结,我的 progressBar 没有前进。

需要注意的是:我的进度条在程序的其他不使用多线程的部分工作正常

有没有办法强制更新用户界面?或者您对如何解决这个问题有任何想法?

我知道更新 UI 会减慢应用程序的速度,但对于应用程序的目标用户来说,这是必要的!

非常感谢 !

更新 :

这是在 AppDelegate 中更新 UI 的代码

0 投票
1 回答
222 浏览

objective-c - 如何扩展 NSProgressIndicator 并增加大小

我需要扩展 NSProgressIndicator 并增加它的大小。到目前为止,我已经创建了一个自定义类并实现了以下代码作为覆盖drawRect:

但是在绘制控件时我没有任何区别。提前感谢所有帮助

0 投票
2 回答
354 浏览

macos - 如何删除 NSProgressIndicator 周围的白色方块?

我正在向我的 NSMenuItem 添加一个 NSProgressIndicator(带有自定义视图)。它工作正常,但它周围有一个奇怪的正方形:

进度指示器周围的白色方块

这是我的代码:

我不确定为什么会这样。有人有什么主意吗?

谢谢。

0 投票
0 回答
232 浏览

objective-c - NSProgressIndicator 确定何时不在循环中

我正在使用另一个问题的代码,但无法弄清楚如何实际“确定”某些任务可能需要多长时间。例如:

例如,问题是有一个任务可以解压缩可能是 1 MB 或 3 GB 的文件 - 无论任务的持续时间可能是什么,我如何以编程方式确定以平滑一致的方式为指示器设置动画的时间?谢谢

0 投票
1 回答
426 浏览

objective-c - 基于视图的表视图中的进度指示器

我正在尝试显示一个自定义视图,其中包含一个NSProgressIndicator.

我在每个计时器事件上更改它的 doubleValue,但它没有反映在NSProgressIndicator. 它总是0有价值的。

我使用的代码如下:

非常感谢任何帮助实现这一目标。

0 投票
1 回答
2506 浏览

objective-c - 如何为具有嵌入式 NSProgressIndicator 的菜单项创建 NSMenuItem 视图?

我想创建一个嵌入的菜单项NSProgressIndicator,类似于 Wi-Fi 状态菜单的“Wi-Fi:寻找网络...”菜单项:

Mac 上打开的 Wi-Fi 状态菜单的屏幕截图

我认为我将需要使用在菜单项中的视图中setView:讨论的方法。但是,当我调用并传递时,只显示 。setView:NSProgressIndicatorNSProgressIndicator

如何创建自定义菜单项视图以获得与 Wi-Fi 状态菜单的“Wi-Fi:正在查找网络...”菜单项类似的结果?

0 投票
1 回答
490 浏览

cocoa - 如何增加 Yosemite NSProgressIndicator 的高度?

我正在开发一个使用 Xamarin for Mac 的应用程序,该应用程序将在 Mavericks 和 Yosemite 上运行。我希望将NSProgressIndicator条形高度设为 20 像素,但我尝试对其进行子类化和覆盖DrawRect并没有得到我需要的结果。

如何给NSProgressIndicator自定义高度?我可以将默认值绘制得更高,还是需要实现完全自定义的绘制代码

0 投票
1 回答
150 浏览

webview - 在 webview 上显示 NSProgressIndicator

我将 progressindicator 从 main.xib 拖放到 webview 上。

我需要在 webview 上显示 NSProgressIndicator ,而不是在同一个 webview 上显示。

主要思想是阻止最终用户访问 webview,直到并且除非 NSProgressIndicator.stopAnimation(self) 完成。

有人可以帮我解决这个问题。

0 投票
1 回答
381 浏览

objective-c - 在 NSCollectionView 绑定大量数据时,是否可以使 NSProgressIndicator 旋转?

我有一个NSCollectionView,它需要加载大约 1000 个项目(项目只包含文本,没有图像或其他丰富的东西)。

我想NSProgressIndicator在 UI 上旋转以让用户知道它正在工作,但发现指示器出现在 UI 上并且根本不旋转。事实上,整个 UI 在NSCollectionView加载数据时被挂起,似乎NSCollectionView任务占据了该绑定任务的 100% 的主线程。

绑定发生时我有可能NSProgressIndicator旋转吗?

编辑:

我使用了一个 NSArrayController 作为数据源,并将 NSCollectionView 的内容绑定到 arrayController.arrangedObjects,当新的项目添加到 arrayController 时,collectionView 会自动更新。

如果我将绑定任务放到辅助线程中,我观察到每个项目一个接一个地出现在 UI 上,每个项目大约需要 0.5 秒,因为要绑定大约 1000 个项目,任务需要太长时间才能完成.

我正在寻找的是,当我想将新项目绑定到 collectionView 时,绑定在主线程中运行,progressIndicator 平稳旋转,当整个加载任务完成时,collectionView 更新,progressIndicator 消失了。