Cocoa 从NIB加载NSView赢得';行不通
我使用以下代码从NIB加载NSView并将其添加到另一个NSView:Cocoa 从NIB加载NSView赢得';行不通,cocoa,nsview,nsviewcontroller,Cocoa,Nsview,Nsviewcontroller,我使用以下代码从NIB加载NSView并将其添加到另一个NSView: // INIT - (void)awakeFromNib { // Load nib DNListViewController *listViewController = [[DNListViewController alloc] initWithNibName:@"ListView" bundle:nil]; // Add view to window [listViewController.view s
// INIT
- (void)awakeFromNib {
// Load nib
DNListViewController *listViewController = [[DNListViewController alloc] initWithNibName:@"ListView" bundle:nil];
// Add view to window
[listViewController.view setFrame:detailView.frame];
[detailView addSubview:listViewController.view];
// MEM
[listViewController release];
}
所有插座都连接正确,但没有显示任何内容。我不明白为什么!有人能帮我吗?谢谢
这是关于NSView,而不是UIView 哦,我已经修好了。没关系,我会让他留在这里,为未来的人们服务
[listViewController.view setFrame:detailView.frame];
一定是
[listViewController.view setFrame:detailView.bounds];
具体而言,视图的边界位于其自身的坐标空间中,而其框架位于其父视图的坐标空间中。因此,您需要在局部视图的坐标空间中定义列表视图的框架(通过获取局部视图的边界),而不是在局部视图的父视图(局部视图的框架)的坐标空间中定义列表视图的框架。