小编Ric*_*ers的帖子

如何配置NSWindowController,NSViewController和NSViews

说实话,我甚至不知道从哪里开始.我觉得我已经在圈子里走了好几个小时尝试不同的事情.

我的问题是如何在IB中配置NSWindowControllers,NSViewControllers和NSViews,然后访问层次结构中的每个,以使用单个NSWindowController切换出NSViewControllers ...

我从Apple网站开始使用此代码,并尝试根据我的情况对其进行更改:https: //developer.apple.com/library/mac/samplecode/ViewController/Listings/MyWindowController_m.html#//apple_ref/doc/ UID/DTS10004233-MyWindowController_m-DontLinkElementID_12

我有一个小应用程序,有2个视图需要根据用户交互来回切换.我们称之为drop_view和table_view.Drop_view是在启动时加载的视图.我的两个视图都在单独的nib文件中配置:

RADropViewController.xib

  RADropViewController.m
  RADropViewController.h
  RADropView.m
  RADropView.h
Run Code Online (Sandbox Code Playgroud)

RADropViewController.xib

  RADropViewController.m
  RADropViewController.h
  RADropView.m
  RADropView.h
Run Code Online (Sandbox Code Playgroud)

每个笔尖都有一个文件所有者,第一响应者,应用程序,视图图标和对象.File的Owner设置为控制器类,View Icon设置为View类,Object图标设置为View Controller类.

然后我有一个带窗口控制器的窗口控制器笔尖.

RAWindowController.xib

RAWindowController.h
RAWindowController.m
Run Code Online (Sandbox Code Playgroud)

nib将文件所有者设置为RAWindowController,将Window设置为NSWindow,将对象设置为RAWindowContoller.我在这个笔尖的窗口中也有一个自定义视图,因为在Apple示例中有一个NSView插座,我在所有研究中读取了stackoverflow,"通常有一个带有主机视图的窗口控制器,用于托管不同的NSWindowControllers).

网点是:

文件的所有者

Outlets
    myTargetView -> Custom View
Referencing Outlets
   delegate -> Window - Window
Run Code Online (Sandbox Code Playgroud)

窗口 - 窗口

Outlets
    delegate -> File's Owner
Referencing Outlets
    window -> Window Controller
Run Code Online (Sandbox Code Playgroud)

窗口控制器

Outlets
    myTargetView -> Custom View
    window -> Window - Window
Run Code Online (Sandbox Code Playgroud)

这是我的RAWindowcontroller.h

@class RADropViewController, RATableViewController, RAWindowView;

@interface RAWindowController : NSWindowController
{

    IBOutlet NSView *myTargetView;
} …
Run Code Online (Sandbox Code Playgroud)

nsview nsviewcontroller nswindowcontroller

3
推荐指数
1
解决办法
3154
查看次数