如何创建一个打开另一个窗口(Mac)的 NSButton?

Posted

技术标签:

【中文标题】如何创建一个打开另一个窗口(Mac)的 NSButton?【英文标题】:How to create an NSButton that opens another window (Mac)? 【发布时间】:2012-07-21 13:21:05 【问题描述】:

是否可以设置一个通向另一个(以前隐藏的)Mac OS 窗口的 NSButton?

- (IBAction)loginb:(id)sender 
NSString *pass = [m_password stringValue];
NSString *name = [m_username stringValue];
if ([name isEqualToString:@"haseo98"] && [pass isEqualToString:@"passwordtest"])
    [_loginwindow setBackgroundColor:[NSColor redColor]];

else [_loginwindow setBackgroundColor:[NSColor blackColor]];

*计划用代码代替 NSColor 更改。

【问题讨论】:

【参考方案1】:

这在很大程度上取决于您希望登录的行为方式。您可以使用UINavigationControllerpushViewController:animated: 的实例,这也将提供一个导航栏以在应用程序的其他地方使用。

或者您可以创建下一个要加载的视图的实例,并使用[self addSubview:]

见:

How to change view on button click in iPhone without navigation controller?

How to switch to next view when button is pressed iPhone?

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

编辑:抱歉,但您没有在未编辑的问题中指定。


经过一番摸索,似乎可以使用以下内容;

if (_controller == nil)

   _controller = [[MyNewWindow alloc] initWithWindowNibName:@"MyNewWindow"]; 


// Show the window.

[_controller showWindow:self];

【讨论】:

为了清楚起见,问题是指 Mac os 应用程序,而不是 ios :)【参考方案2】:

如果您的窗口不像汤姆的回答建议的那样在窗口控制器中,您还可以使用NSWindowmakeKeyAndOrderFront: 方法来显示窗口并让它接收关键事件。

【讨论】:

谢谢它的工作:) 是否有代码可以同时隐藏登录窗口? @haseo98 然后,您应该通过单击旁边的灰色复选标记来接受正确的答案,以便其他偶然发现此问题的人可以轻松找到它:)

以上是关于如何创建一个打开另一个窗口(Mac)的 NSButton?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Mac上远程控制另一台Mac

如何创建单实例 WPF 应用程序以在尝试打开另一个实例时恢复打开的窗口? [复制]

(WPF)如何打开另一个窗口

如何创建csv文件

C#如何关闭一个窗口的同时打开另一个窗口

Mac系统下,怎么打开两个文件夹?