我有一个程序,我希望用户能够注册一个账户。主视图控制器有一个 登记 按钮,他们可以点击。我希望窗口被替换,而不是片断或模态切换。然后,当他们点击 妥当他们将被重定向回主视图控制器。
你可以使用跟随方式来导航到另一个窗口。
ButtonClickEvent.Activated += (sender, e) => {
Console.WriteLine("Button Click");
NSWindow newWindow = new NSWindow();
newWindow.Title = "Second Window";
newWindow.SetFrame(new CGRect(500, 500, 300, 200),true);
// set be key window and be front
newWindow.MakeKeyAndOrderFront(null);
// close current window
View.Window.OrderOut(Self);
};
而当回到上一个窗口时,也可以使用这种方式。
我将分享一张截图来解释如下。
你会看到有两个WindowControllers和两个ViewControllers。
第一视角控制器 :
ButtonClickEvent.Activated += (sender, e) => {
Console.WriteLine("Button Push");
var storyboard = NSStoryboard.FromName ("Main", null);
var controller = storyboard.InstantiateControllerWithIdentifier ("SecondWindow") as NSWindowController;
// display
controller.Window.MakeKeyAndOrderFront(null);
// close current window
View.Window.OrderOut(Self);
};
第二视图控制器 :
ButtonClickEvent.Activated += (sender, e) => {
Console.WriteLine("Button Back");
var storyboard = NSStoryboard.FromName ("Main", null);
var controller = storyboard.InstantiateControllerWithIdentifier ("MainWindow") as NSWindowController;
// display
controller.Window.MakeKeyAndOrderFront(null);
// close current window
View.Window.OrderOut(Self);
};
ㄒ唬└涸鹑吮硎?
开放式 主图板 与 Xcode界面生成器 :
审查是否 故事板ID 设在项目中