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

时间:2012-07-21 13:21:06

标签: objective-c xcode macos nswindow

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

- (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更改。

2 个答案:

答案 0 :(得分:2)

这在很大程度上取决于您希望登录的行为方式。您可以使用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];

答案 1 :(得分:0)

如果您的窗口不在像Tom的回答建议的窗口控制器中,您还可以使用NSWindow的{​​{1}}方法来显示窗口并拥有它接收关键事件。