9
인터페이스 작성기 대신 동적으로 NSPopover를 만드는 예제를 찾지 못했습니다. 다음 코드프로그래밍 방식으로 NSPopover를 만드는 방법
예외로드 펜끝을 제공하지만, 더보기가 설정되어 있지 않은 : 여기
NSViewController *controller = [[NSViewController alloc] initWithNibName:@"View" bundle:nil];
NSPopover *popover = [[NSPopover alloc] init];
[popover setContentSize:NSMakeSize(100.0f, 100.0f)];
[popover setContentViewController:controller];
[popover setAnimates:YES];
[popover showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxXEdge];
[popover release];
[controller release];
스택 트레이스이다
2011-10-22 12:00:16.804 Test[2020:707] -[NSViewController loadView] loaded the "View" nib but no view was set.
2011-10-22 12:00:16.807 Test[2020:707] (
0 CoreFoundation 0x00007fff87e10286 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff92f2cd5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff87e100ba +[NSException raise:format:arguments:] + 106
3 CoreFoundation 0x00007fff87e10044 +[NSException raise:format:] + 116
4 AppKit 0x00007fff90951e21 -[NSViewController loadView] + 336
5 AppKit 0x00007fff9094da8a -[NSViewController view] + 41
6 AppKit 0x00007fff91065232 -[NSPopover showRelativeToRect:ofView:preferredEdge:] + 159
7 Test 0x000000010000159a -[OITAppDelegate show:] + 570
8 CoreFoundation 0x00007fff87dffa1d -[NSObject performSelector:withObject:] + 61
9 AppKit 0x00007fff90924710 -[NSApplication sendAction:to:from:] + 139
10 AppKit 0x00007fff90924642 -[NSControl sendAction:to:] + 88
11 AppKit 0x00007fff9092456d -[NSCell _sendActionFrom:] + 137
12 AppKit 0x00007fff90923a30 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 2014
13 AppKit 0x00007fff909a38e0 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 489
14 AppKit 0x00007fff9092263a -[NSControl mouseDown:] + 786
15 AppKit 0x00007fff908ed0e0 -[NSWindow sendEvent:] + 6306
16 AppKit 0x00007fff9088568f -[NSApplication sendEvent:] + 5593
17 AppKit 0x00007fff9081b682 -[NSApplication run] + 555
18 AppKit 0x00007fff90a9a80c NSApplicationMain + 867
19 Test 0x00000001000012f2 main + 34
20 Test 0x00000001000012c4 start + 52
21 ??? 0x0000000000000003 0x0 + 3
이 오래된 질문에 대한 좋은 답변에 감사드립니다. 관련 질문 :이 예외가 * view * 콘센트를 할당하지 못함과 관련하여 - 예를 들어 popover의 * contentViewController * 콘센트를 지정하지 못한 것과 관련하여 어떻게 알았습니까? –
@MarkBernstein이 메시지 텍스트가있는이 예외는 로딩에서'view' 속성을 할당하지 않은 경우에만 발생합니다. – hamstergene