我没有找到一些使用Interface Builder动态创建NSPopover的示例.
下面的代码给出了一个异常,加载了nib,但没有设置视图:
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];
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
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 …Run Code Online (Sandbox Code Playgroud)