0

当用户触摸按钮时如何加载新视图(例如为 iOs 推送视图)(这是针对 mac 应用程序)?在.Net中我们可以使用show,同样有什么方法可以加载视图吗?

4

1 回答 1

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
}

加载视图后,您需要将其放置到另一个视图(超级视图)以显示它。例如,对于您窗口的客户端视图:

[window.clientView addSubview:myAmazingView];

你也可以用-setFrame:方法定位你的视图。

于 2012-07-31T11:43:45.680 回答