gpt4 book ai didi

cocoa - 如何在 NSWindow 上动态加载 NSView?

转载 作者:行者123 更新时间:2023-12-03 16:29:46 25 4
gpt4 key购买 nike


我有两个 nib 文件。一个有 NSWindow,另一个有 NSView。我希望 NSView 在运行时加载到 NSWindow 上。我知道我将不得不使用 NSWindowController 和 NSViewController 类。但我就是不知道怎么做。
我是 cocoa 的新手。请指导我如何实现这一目标。
如果可能的话,您可以指导我一些示例应用程序或指南吗?
提前致谢..

更新:: 请参阅行中的评论

@interface ViewAvailableItemsWindowController : NSObject {
IBOutlet NSWindow * viewAvailableItemsWindow; //Window in question
IBOutlet NSView * viewAvailableItemsView; //View in question

ItemSearchViewController * instanceItemSearchView; //ViewController object
}

@end


@implementation ViewAvailableItemsWindowController

-(void)awakeFromNib{
[viewAvailableItemsWindow makeKeyAndOrderFront:nil];
instanceItemSearchView = [[ItemSearchViewController alloc]initWithNibName:@"ItemSearchView" bundle:nil] ; //Initiating the viewController with the nib for the view.
[viewAvailableItemsView addSubview:[instanceItemSearchView view]]; //Adding the subview to the window..

}

-(void)dealloc{
[instanceItemSearchView release];
[super dealloc];
}

@end

最佳答案

//编辑关于您的问题,您首先将 NSWindowcontentView 设置为 itemsView。你可以这样做一次,例如。在 viewDidLoadinit/awakeFromNib 中:

viewAvailableItemsWindow.contentView = viewAvailableItemsView;

然后为了使 View 动态地将新项目添加到window.contentView:

[viewAvailableItemsWindow.contentView addSubview:[instanceItemSearchView view]];

要删除旧的并添加新的,请在旧的上调用removeFromSuperview,然后像上面一样添加新的

关于cocoa - 如何在 NSWindow 上动态加载 NSView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com