gpt4 book ai didi

objective-c - Cocoa - 在另一个 xib 上显示 xib

转载 作者:太空狗 更新时间:2023-10-30 03:59:00 26 4
gpt4 key购买 nike

谁能告诉我如何(或指导我了解相关信息)在另一个 .xib(nib)上显示 .xib(nib)。

我希望如何放置它,以便我可以像这样以编程方式围绕主 Nib 移动它(这显然行不通)

- (void)drawRect:(NSRect)dirtyRect
{

NSRect customView = NSMakeRect(pos1, pos1, 200, 100);

[[NSBundle mainBundle] loadNibNamed:@"secondXib" owner:self];

NSRectFill (customView);
}

我希望为 Mac OS X(不是 iPhone)做这个。 (顺便说一句,使用 xCode 4 会有所不同)

最佳答案

您可以使用 NSViewController 轻松地从另一个 nib 加载 View .在你的 nib 中,你应该将 File's Owner 的自定义类设置为 NSViewController并连接 view File's Owner 的导出指向您要加载的 View 。然后你可以这样做:

//create an NSViewController and use it to load the nib
NSViewController* vc = [[NSViewController alloc] initWithNibName:@"YourNibName" bundle:nil];
//get the view from the view controller
NSView* loadedView = [vc view];
//release the view controller so we don't leak
[vc release];
//add the view as a subview of your main view
[mainView addSubview:loadedView];
//position the view
[loadedView setFrameOrigin:NSMakePoint(100.0, 100.0)];

您无需在 drawRect: 中执行任何操作. subview 将自行绘制,并且 drawRect:如果您移动 subview ,将自动调用。

您应该阅读 View Programming Guide for Cocoa .了解 View 的工作原理至关重要,从您的问题中可以清楚地看出您还没有这种理解。

您还应该阅读 Cocoa Drawing Guide .

关于objective-c - Cocoa - 在另一个 xib 上显示 xib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9757098/

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