Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 单击按钮时加载视图mac osx应用程序_Macos_Cocoa - Fatal编程技术网

Macos 单击按钮时加载视图mac osx应用程序

Macos 单击按钮时加载视图mac osx应用程序,macos,cocoa,Macos,Cocoa,当用户点击一个按钮时,如何加载一个新的视图(类似于按下iOs的视图)(这是针对mac应用程序的)?在.Net中,我们可以使用show,同样,是否有加载视图的方法?如果要从xib加载视图,最简单的方法是使用NSViewController - (IBAction)showMyAmazingView:(id)sender { NSViewController* myViewController = [[NSViewController] alloc] initWithNibName:@"My

当用户点击一个按钮时,如何加载一个新的视图(类似于按下iOs的视图)(这是针对mac应用程序的)?在.Net中,我们可以使用show,同样,是否有加载视图的方法?

如果要从xib加载视图,最简单的方法是使用
NSViewController

- (IBAction)showMyAmazingView:(id)sender
{
    NSViewController* myViewController = [[NSViewController] alloc] initWithNibName:@"MyAmazingView" bundle:nil];

    NSView* myAmazingView = myViewController.view;

    // Do whatever you want with myAmazingView
}
如果要以编程方式创建(自定义)视图,应首先对其进行初始化:

- (IBAction)showMyAmazingView:(id)sender
{
    MyAmazingViewSubclass* myAmazingView = [[MyAmazingViewSubclass] alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)];

    // Do whatever you want with myAmazingView
}
加载视图后,需要将其放置到另一个视图(superview)以显示它。例如,对于窗口的客户端视图:

[window.clientView addSubview:myAmazingView];
您还可以使用
-setFrame:
方法定位视图