简体   繁体   中英

How do I run modals windows from code with cocoa?

I`m trying to run a window as modal directly from the code. My program starts and a main NSWindows is showed.A thread still running to see if the user has a valid distribution. if he doesn't I need to run a modal.I mean, I have no buttons clicked in the interface.I've designed a NSWindow on the interface builder for a password set, and I want to call it only when my validation is not successful. I have tested and realized that these methods which are responsible for modal windows running only work in a IBAction environment.

//This doesn't work
-(void) showPasswordWindow
{
        [NSApp runModalForWindow:[self window]];

}

//this works But its not useful for me =(
- (IBAction) passwordWindowButton:(id)sender
{
    [NSApp runModalForWindow:[self window]];
}

Please, help this newbie =)

One thing to check: are you calling the method on the main thread?

to check, add this to showPasswordWindow

NSLog(@"Main thread? %d", [NSThread isMainThread]);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM