Re: NSProgressIndicator (bar) still displays when stopped
Re: NSProgressIndicator (bar) still displays when stopped
- Subject: Re: NSProgressIndicator (bar) still displays when stopped
- From: Keary Suska <email@hidden>
- Date: Fri, 08 Aug 2014 10:55:28 -0600
On Aug 8, 2014, at 10:25 AM, Daryle Walker <email@hidden> wrote:
> On Aug 8, 2014, at 9:58 AM, Keary Suska <email@hidden> wrote:
>
>> On Aug 7, 2014, at 10:23 PM, Daryle Walker <email@hidden> wrote:
>>
>>> have a bar-style NSProgressIndicator that has its “Display When Stopped” turned off and (initially) Indeterminate turned on. It (almost) properly updates when a load is going on:
>>>
>>> //=====
>>> - (void)notifyOnProgressStarted:(NSNotification *)notification // WebViewProgressStartedNotification
>>> {
>>> [self.loadingProgress startAnimation:self];
>>> }
>>>
>>> - (void)notifyOnProgressChanged:(NSNotification *)notification // WebViewProgressEstimateChangedNotification
>>> {
>>> [self.loadingProgress setIndeterminate:NO];
>>> [self.loadingProgress setDoubleValue:self.webView.estimatedProgress];
>>> }
>>>
>>> - (void)notifyOnProgressFinished:(NSNotification *)notification // WebViewProgressFinishedNotification
>>> {
>>> [self.loadingProgress stopAnimation:self];
>>> }
>>> //=====
>>>
>>> However, the bar is still shown after the download finishes. It goes away when I either turn off and back on the top content border it sits on or if I change the display status of the toolbar above it. Changing the bar back to indeterminate (in the Finishing notification) makes no difference.
>>
>> Is the progress indicator loaded from a xib, with your initial settings? If so I would double-check the isDisplayedWhenStopped value at or after awakeFromNib. If the value is still NO, IIRC there has been a long-standing bug with NSProgressIndicator in certain views. Try calling [[self.loadingProgress superview] setNeedsDisplay:YES] after you stop animation. If that works, that will be confirmation that the bug still stands...
>
> The bug is there, but neither yours or Jerry’s solution works! I’ve tried:
> • if (![self.loadingProgress isHidden]) {
> [self.loadingProgress setHidden:YES];
> [self.loadingProgress setHidden:NO];
> }
I guess I am not sure what you want to accomplish--here you hide it then unhide it, so you are forcing it to show. Is this what you want? If so, what isn;t happening that you expect?
> • [self.loadingProgress.superview setHidden:YES];
> [self.loadingProgress.superview setHidden:NO];
Same here.
Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden