XCODE와 Objective-C를 사용하는 MAC에서 회 전체와 취소 버튼이 포함 된 작은 "BUSY"창을 표시해야합니다. 이렇게하면 길어진 작업을 마칠 때까지 사용자가 응용 프로그램에서 다른 작업을 수행하지 못하지만 취소를 클릭하면 작업이 중지됩니다.MAC에서 취소 버튼과 회 전자로 바쁜 창을 표시해야합니다
나는 .... 지금처럼 취소 버튼으로 간단 NSWindowController
를 기반으로 창을 만들고 창 모달을
-(void) start_long_operation {
...
를 ... 시도
[self showBusy];
return; // return to continue the long operation
}
// 사용자가 수행 할 때까지 아무 작업도 수행 할 수 없도록 "사용중"대화 상자를 표시합니다.
-(void) showBusy {
BusyNSWindow *loadingView = [[LoadingView alloc] initWithWindowNibName:@"LoadingView"];<br>
[[NSApplication sharedApplication] runModalForWindow:loadingView.window];
}
클릭 취소 할 경우 6,
는 신호가 긴 작업을 닫습니다 "중"대화 상자
-(IBAction) cancel
{
// cancel was clicked inside the "busy" dialog box so signal process to stop long operation
}
하지만 발생하기는 [[NSApplication sharedApplication] runModalForWindow:loadingView.window]
및 나던 반환 내부에 남아 있다는 것입니다을 중지합니다 //. "바쁜"대화 상자가 작동하는 동안 긴 처리를 계속할 수 있도록 반환해야하므로 작동하지 않습니다.
누구나 취소 버튼과 회 전자가있는 작은 "사용중"창을 만드는 방법을 알고 있으므로 작업이 완료 될 때까지 사용자가 해당 창 외부를 클릭하지 못하게하고 나머지 프로그램을 정상적으로 계속할 수 있도록합니다. 그것은 긴 작업을 처리 할 수 있습니까?
-rough_neck