문제

툴바 아래에 나타나도록 시트 같은 창을 열려고 합니다.저는 이를 위해 O'Reilly 튜토리얼을 사용했습니다.그러나 이 오류는 지나칠 수 있습니다.모달 세션에는 모달 창이 필요합니다.

"Visible At Launch"를 선택하면 창이 창으로 로드됩니다.

선택 여부에 관계없이 "모달 세션에 모달 창이 필요합니다." 오류가 발생합니다.

Window.xib, ProgressModal.xib가 있습니다.

Window 구현 파일에서는 다음을 사용합니다.

-(IBAction)loadProgress:(id)sender{
    [self progressStatus:progressWindow];
}

- (void)progressStatus:(NSWindow *)window {

    [NSApp beginSheet: window
       modalForWindow: mainWindow
        modalDelegate: nil
       didEndSelector: nil
          contextInfo: nil];
    [NSApp runModalForWindow: window];
    [NSApp endSheet: window];
    [window orderOut: self];

}

- (IBAction)cancelProgressScrollView:(id)sender {
    [NSApp stopModal];
}

ProgressModal.xib 설정이 잘못되었을 수 있습니다.클래스로 "Window"를 갖는 NSObject가 있습니다.모든 연결은 그것을 통해 이루어집니다.

그러나 이번에도 창을 로드하지만 모달로 로드하지는 않습니다.

어떤 아이디어가 있나요?

도움이 되었습니까?

해결책 2

위에서 언급했듯이 ProgressModal 창에서 개체를 끌어서이를 통해 내 연결을 만들었습니다.내가 한 일은 파일의 소유자가 내 창 클래스를 만들었습니다.문제가 해결되었습니다.

http://www.youtube.com/watch?v=QBKO6TD-FWA

다른 팁

첫 번째 줄에 다음을 입력하세요. progressStatus 방법:

NSLog(@"%@", window);

로그 출력이 null인 경우가 바로 그 이유입니다.

XIB를 사용하여 모달 시트를 만드는 단계:

  1. 패널을 MainMenu.xib로 드래그하세요.
  2. 추가하다 @property (assign) IBOutlet NSPanel *sheetPanel; 당신의 AppDelegate.h 파일
  3. @synthesize sheetPanel = _sheetPanel; 에서 AppDelegate.m 파일
  4. 1단계에서 생성된 MainMenu.xib에 있는 패널의 새 참조 콘센트를 2단계에서 생성된 sheetPanel 속성에 연결합니다.
  5. 다음 코드를 사용하여 모달 시트를 표시합니다.

    [NSApp beginSheet:_sheetPanel
       modalForWindow:_mainWindow
        modalDelegate:self
       didEndSelector:@selector(didEndSheet:returnCode:contextInfo:)
          contextInfo:nil];
    

편집 : 당신이 모달 창을 원했습니다.시트를 원한다면 runModalForWindow:를 전혀 사용하지 마십시오.

시도 :

[NSApp beginSheet: window
   modalForWindow: mainWindow
    modalDelegate: nil
   didEndSelector: nil
      contextInfo: nil];
.

필요할 경우에 따라 콜백을 정의하는 것이 좋습니다.예를 들어.

[NSApp beginSheet: window
   modalForWindow: mainWindow
    modalDelegate: self
   didEndSelector: @selector(sheetDidEnd:returnCode:contextInfo:)
      contextInfo: nil];
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top