2013-05-28 33 views
0

我在OS X的ETL應用程序中使用了NSProgressIndicator,並且我用它指示的是當前狀態下載給定頁面的源。NSProgressIndicator不能正常工作

在第一次運行時一切都很好 - 像魅力一樣的作品。當我點擊重置按鈕並嘗試再次運行整個過程時,問題就出現了 - 指示器在開始時全部加載。

聲音對我來說,我需要把它恢復爲默認值,但我不知道如何...

- (IBAction)showAction:(id)sender 
{ 
    [[self panel] display]; 
    NSLog(@"Show action"); 
} 

- (IBAction)restartETLAction:(id)sender 
{ 
    [etl restart]; 
    [self setProgressBar:nil]; 
    NSLog(@"Restart action"); 
} 

- (void) showProgressBarPanelWithTitle:(NSString *) title 
{ 
    [[self panel] setTitle:title]; 
    [[self panel] makeKeyAndOrderFront:self]; 
} 

- (void) updateProgressBarPanelWithProgressLevel:(double) progressLevel 
{ 
    [[self progressBar] setDoubleValue:progressLevel]; 
    [[self progressBar] startAnimation:self]; 
} 

- (void) hideProgressBarPanel 
{ 
    [self.progressBar stopAnimation:self]; 
    [[self panel] orderOut:self]; 
} 

當然,我有一些屬性:

@property (assign) IBOutlet NSPanel *panel; 
@property (assign) IBOutlet NSProgressIndicator *progressBar; 

回答

0

我找到了答案。我需要nil一些對象來重新啓動應用程序的整個過程。因此,在此之後,應用程序會創建此對象的新實例,並且它們是乾淨的,因此NSProgressIndicator的工作方式應該與此類似。

0

帶來NSProgress指示燈正面如下所示,然後重試。註釋你的錯誤,如果任何事情你長了

enter image description here

+0

你的意思是這樣的嗎? http://img443.imageshack.us/img443/3789/zrzutekranu20130530o085.png 此屏幕顯示它現在的樣子。 – cojoj

+0

查看[this](http://stackoverflow.com/questions/16398854/how-to-make-the-nsbutton-above-a-nsbutton)概念...你在分開的視圖中顯示進度指示器。 ..在控件下面添加progres指標... – user23790

+0

我明白你的意思,我猜...但看看我發佈的屏幕。面板視圖內只有指示燈,我無法更改其位置。 – cojoj