如何在用户触摸按钮时加载新视图(例如推送iO视图)(这适用于mac应用程序)?在.Net中我们可以使用show,同样有加载视图的方法吗?
答案 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:
方法定位视图。