내가 뭘하려하는지 간단하게 보이지만 구현이 나를 던지고있다. 값을 변경 한 후 레이블을 강제로 새로 고칠 수 있습니까?NSTextField 레이블을 강제로 새로 고침하는 방법
방금 간단한 진행 창을 만들었습니다. 주 앱이 무언가를하고있는 중이므로 진행 창을 팝업하고 루프가 실행될 때 레이블 및 진행률 막대의 값을 업데이트하려고합니다.
내가 라벨과 진행 막대에 매장을 가진 새 NSWindow 표시 및 XIB 파일을 생성 나는이 그것을로드 해요 :_pbWindow = [[ProgressBar alloc] initWithWindowNibName:@"ProgressBar"];
[_pbWindow showWindow:self];
내가 전화 할 때 :
_pbWindow.lblProgress1.stringValue = @"Doing this now...";
내가 할 수있는 새 창에서 실제로 새로 고칠 레이블을 얻지 못합니다.
여기서는 Google을 검색하여 다른 창에서이를 수행하는 방법을 찾을 수없는 것 같습니다. 메인 창에있는 경우에는 항상 새로 고침이됩니다 (항상 내 경험 이었기 때문에). 어쨌든).
[[NSApplication sharedApplication] beginSheet:[_pbWindow window]
modalForWindow:[[NSApplication sharedApplication] mainWindow]
modalDelegate:_pbWindow
didEndSelector:nil
contextInfo:nil];
을 그리고 여전히 작동하지 않습니다 :
나는 창에 포커스가하지 않았기 때문에 내가 모달을 열기 시도 그래서 그것이 어쩌면 생각했다.
환상적인 답변을 보내 주셔서 감사합니다. 두 솔루션 모두 잘 작동하므로 어느 쪽이 끝날 지 확신 할 수 없지만 displayIfNeeded 메서드를 사용하여 해당 요구 사항이 충족되는지 확인합니다. – C4W