问题标签 [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.
objective-c - NSMenuItem 中的 NSProgressIndicator 未在第二次显示时更新
我有一个NSMenu
附加到一个NSStatusItem
(菜单栏应用程序)。下载文件时,我想在此菜单的一项中显示 NSProgressIndicator。我NSViewController
为此进度指示器创建了一个具有以下属性的子类:
需要时,我使用以下代码开始下载文件,该代码在其中运行,NSRunLoopCommonModes
以便在NSMenu
显示时也调用委托方法(在 中运行NSEventTrackingRunLoopMode
):
然后在didReceiveData
委托方法中设置NSViewController
子类的属性:
如果我将属性绑定到标签,这非常有用,但是如果我在连接开始之前NSProgressIndicator
打开菜单,并且在下载完成之前不要再次关闭它,则唯一的更新。但是如果我之后打开它,进度指示器不会更新。它显示了我打开菜单时属性的值,但该值不会更新。然后进度指示器也没有动画。请注意,标签确实有效...
当我更改值时,我尝试在自定义视图和进度指示器上手动调用setNeedsDisplay
和YES
调用display
om,但这不起作用。修复进度指示器的唯一方法是[progress setHidden:YES]; [progress setHidden:NO];
快速连续调用,但这会导致进度指示器闪烁,这当然是一个糟糕的解决方案。
我究竟做错了什么?我该如何解决这个问题NSProgressIndicator
?
objective-c - 在非常苛刻的应用程序上强制更新 UI
这是我的问题:我有一个应用程序必须进行数百万次计算(这是为了发表一篇科学论文)。
所以为了加快计算速度,我学到了一点关于线程的知识并做了这个:
在Magic.m
我有一个名为的方法defineListOfSameDonInparticule:
,其中有:
在这段代码中,我[appDelegate increaseProgressionMeterByOne]
向我的应用程序委托发送了一条消息,该委托又将 incrementBy:1 发送到我的进度条
但是我所有的线程都被同时发生的数百万次计算使用,所以 UI 冻结,我的 progressBar 没有前进。
需要注意的是:我的进度条在程序的其他不使用多线程的部分工作正常
有没有办法强制更新用户界面?或者您对如何解决这个问题有任何想法?
我知道更新 UI 会减慢应用程序的速度,但对于应用程序的目标用户来说,这是必要的!
非常感谢 !
更新 :
这是在 AppDelegate 中更新 UI 的代码
objective-c - 如何扩展 NSProgressIndicator 并增加大小
我需要扩展 NSProgressIndicator 并增加它的大小。到目前为止,我已经创建了一个自定义类并实现了以下代码作为覆盖drawRect:
但是在绘制控件时我没有任何区别。提前感谢所有帮助
macos - 如何删除 NSProgressIndicator 周围的白色方块?
我正在向我的 NSMenuItem 添加一个 NSProgressIndicator(带有自定义视图)。它工作正常,但它周围有一个奇怪的正方形:
这是我的代码:
我不确定为什么会这样。有人有什么主意吗?
谢谢。
objective-c - NSProgressIndicator 确定何时不在循环中
我正在使用另一个问题的代码,但无法弄清楚如何实际“确定”某些任务可能需要多长时间。例如:
例如,问题是有一个任务可以解压缩可能是 1 MB 或 3 GB 的文件 - 无论任务的持续时间可能是什么,我如何以编程方式确定以平滑一致的方式为指示器设置动画的时间?谢谢
objective-c - 基于视图的表视图中的进度指示器
我正在尝试显示一个自定义视图,其中包含一个NSProgressIndicator
.
我在每个计时器事件上更改它的 doubleValue,但它没有反映在NSProgressIndicator
. 它总是0
有价值的。
我使用的代码如下:
非常感谢任何帮助实现这一目标。
objective-c - 如何为具有嵌入式 NSProgressIndicator 的菜单项创建 NSMenuItem 视图?
我想创建一个嵌入的菜单项NSProgressIndicator
,类似于 Wi-Fi 状态菜单的“Wi-Fi:寻找网络...”菜单项:
我认为我将需要使用在菜单项中的视图中setView:
讨论的方法。但是,当我调用并传递时,只显示 。setView:
NSProgressIndicator
NSProgressIndicator
如何创建自定义菜单项视图以获得与 Wi-Fi 状态菜单的“Wi-Fi:正在查找网络...”菜单项类似的结果?
cocoa - 如何增加 Yosemite NSProgressIndicator 的高度?
我正在开发一个使用 Xamarin for Mac 的应用程序,该应用程序将在 Mavericks 和 Yosemite 上运行。我希望将NSProgressIndicator
条形高度设为 20 像素,但我尝试对其进行子类化和覆盖DrawRect
并没有得到我需要的结果。
如何给NSProgressIndicator
自定义高度?我可以将默认值绘制得更高,还是需要实现完全自定义的绘制代码?
webview - 在 webview 上显示 NSProgressIndicator
我将 progressindicator 从 main.xib 拖放到 webview 上。
我需要在 webview 上显示 NSProgressIndicator ,而不是在同一个 webview 上显示。
主要思想是阻止最终用户访问 webview,直到并且除非 NSProgressIndicator.stopAnimation(self) 完成。
有人可以帮我解决这个问题。
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 消失了。