2012-06-12 6 views
1

프로그램이 데이터를 처리하는 동안 다양한 메시지를 표시 할 시트를 만들었습니다. 시트가 올바르게 열리고 닫히고 IB 콘센트가있는 메인 컨트롤러 (시트 소유자)에 연결된 시트에 텍스트 라벨이 있습니다.시트의 텍스트 레이블을 변경할 수 없습니다.

Nib가 올바르게로드되고 열리고 닫히지 만 정적 텍스트 레이블은 절대로 업데이트되지 않습니다.

IBOutlet id mySheetText; 

나는 시도하고 시트의 텍스트를 수정하는 데 사용하고 호출은 이것이다 : 연결된 함께 IBOutlet이 방법을 정의

[mySheetText setStringValue:@"Some text message..."]; 

레이블 인 경우이 형식이 주에서 잘 작동 창에 있지만 Label이 시트에 있으면 아무 작업도 수행하지 않습니다.

IB의 모든 연결이 올바른 것 같습니다. 나는 아주 간단한 것을 놓친다 고 확신한다. 그리고 그 시트가 주 윈도우와는 다른 "윈도우"라는 사실과 관련이 있다고 생각하지만, 나는 아무것도 찾을 수 없다. 문서에서 올바른 방향으로 나를 가리 킵니다.

덧붙여, 여기에 내가 시트를 연결 방법 ...

NSWindow *mySheet; 

@property (assign) IBOutlet NSWindow *mySheet; 
@synthesize mySheet; 

입니다 ... 그리고 열 :

if (!serverSyncSheet) { 
    [NSBundle loadNibNamed:@"mySheetNibFile" owner:self]; 
} 

[NSApp beginSheet: self.mySheet 
    modalForWindow: [[NSApp delegate] mainWindow] 
    modalDelegate: self 
    didEndSelector: NULL 
      contextInfo: NULL]; 

어떤 아이디어?

* EDIT *

좋아, 그래서 내가 부분적으로 올바른임을 밝혀졌습니다. 텍스트 값을 읽으려고하면 올바른 텍스트로 설정되어 있지만 시트가 변경 내용을 표시하도록 업데이트되고 있지 않습니다. 다시 그리기 위해 창문에 말할 필요가 있다고 생각합니다 ... 이전에는 그렇게하지 않았습니다. 문서로 돌아가 내가 그것을 찾을 수 있는지 확인하십시오. 전화 할 방법을 아는 사람이 있으면 알려주십시오. :) 감사!

답변

0

글쎄, 나의 의심은 정확했다 ... 그것은 간단했다.

[mySheet display]; 

도현 :

난 그냥 창을 다시 그리기했다! :)

관련 문제