如何使用单独的sheetController显示不同NIB包含的工作表

时间:2010-05-19 13:14:35

标签: objective-c cocoa

我需要从单独的NIB打开工作表,并希望使用其单独的控制器awakeFromNib来配置工作表控件。请让我知道最好的方法。我使用10.5 API和XCODE 3.1.4

2 个答案:

答案 0 :(得分:1)

听起来你想要加载笔尖。听起来NSWindowController听起来也很有意思。

答案 1 :(得分:1)

感谢所有人帮助我。我终于解决了我的表格问题。 以下是我从单独的NIB显示纸张的步骤。

  1. 使用具有单独UI的面板/窗口创建新NIB。
  2. 为我的工作表创建了NSwindowController子类。
  3. 已实现 - 工作表控件中的init方法并使用initWithWindowNibName初始化nib。
  4. 将文件的所有者类更改为单独nib中的sheetcontroller。
  5. 将文件所有者窗口对象的窗口引用添加到单独NIB的面板/窗口中。
  6. 将sheetcontroller标头导入主app控制器,最后使用以下代码使工作表正常工作。
  7. 个人资料操作:

    - (IBAction)showProfiles:(id)sender {
        ProfileSheetController *profileSheet =[[ProfileSheetController alloc] init];
        profileSheet.appController = self;
        [NSApp beginSheet:[profileSheet window]
           modalForWindow:window
            modalDelegate:self
           didEndSelector:NULL
              contextInfo:nil];
    }