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

时间:2012-07-31 09:48:37

标签: macos cocoa

如何在用户触摸按钮时加载新视图(例如推送iO视图)(这适用于mac应用程序)?在.Net中我们可以使用show,同样有加载视图的方法吗?

1 个答案:

答案 0 :(得分:1)

如果您想从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:方法定位视图。