0
我有一個按鈕被按下時爲IBAction爲:爲什麼我的界面對象不按順序響應?
- (IBAction)importButtonClicked:(id)sender
而且我要的一系列事件的發生,如:
[_progressLabel becomeFirstResponder]; // I tried this but to no effect
_progressLabel.stringValue = BEGIN_IMPORT_STRING;
[_importButton setEnabled:FALSE];
_fileField.stringValue = @"";
[_progressIndicator startAnimation:nil];
但是最終發生的是_progressIndicator動畫發生在出現_progressLabel文本之前。通常情況下,文本不會直到_progressIndicator動畫已停止。我如何解決這個問題?
如果你把代碼放在'[CATransaction begin]'和'[CATransaction commit]'之間,它有幫助嗎?假設你使用的是Core動畫操作系統版本。 – lbergnehr
CATransaction不被識別,但我認爲你正在做的事情。問題不在於這個代碼塊,而在於下一個代碼塊佔用了所有的資源,並且這個代碼塊在完成之前還沒有完成。但我只是在xib文件中使用Appkit。 –
您是否在同一個線程上同步執行「繁重」工作?在這種情況下,它會阻止用戶界面,你可能得不到你想要的行爲。 – lbergnehr