2013-10-29 5 views
0

커스텀 MyWindow.xibMyWindowController의 작은 코코아 애플리케이션을 만들었습니다. 창은 NSTextField있는 (라벨)을 포함하고 내 AppDelegate에에서 나는이 컨트롤러를 초기화하고 있는데이 라벨에 텍스트를 설정,보기 그리고 창 표시창이 나타나면 레이블의 텍스트가 설정되지 않음

self.controller =[[MyWindowController alloc] initWithWindowNibName:@"MyWindow"]; 
[self.controller setText:@"My text"]; 
[self.controller showWindow:self]; 

그러나 기본 "라벨"텍스트입니다 창이 표시되면 계속 표시됩니다. 왜?

내 샘플 프로젝트는 여기에서 다운로드 할 수 있습니다 : http://s000.tinyupload.com/?file_id=00611347759347594342.

답변

2

여기에서 문제는 라벨이 실제로 시각적이지 않기 때문에 텍스트를 변경해도 아무런 효과가 없다는 것입니다.

[self setText:self.textForLabel]; 
0

에서 : 텍스트를 설정할 수 있습니다 컨트롤러의하는 .m에 viewWillAppear:에 그런

self.controller.textForLabel = @"My text"; 

:이 주위에 얻을 수있는 한 가지 방법은 컨트롤러의 문자열 속성을 가지고 그를 설정하는 것입니다 프로젝트를 초기화하기 전에 창을 표시하기 전에 텍스트를 변경하고 있습니다. 그냥이 전환 : 는 두 줄의 코드 창을 표시 한 후 설정 텍스트를 교체, 그래서 같이해야합니다 :

[self.controller showWindow:self]; 
[self.controller setText:@"My text"]; 

[self.controller setText:@"My text"]; 
[self.controller showWindow:self]; 

그것을 해결하는 두 가지 방법

[self.controller showWindow:self]; 
[self.controller setText:@"My text"]; 
0

다른 방법은 "- (void) windowDidLoad"함수 내에서 MyWindowController.m 파일의 레이블 텍스트를 변경하는 것입니다.