2013-08-27 4 views
3

Я хочу создать шоу NSAlert (всплывающее окно), а затем автоматически закрыть. Он также нажимает кнопку «Button», показывает всплывающее окно «Сканирование ...», после обнаружения каких-либо элементов всплывающее окно «Сканирование автоматически отключается». И когда всплывающее шоу, пользователь не может нажать любую кнопку в моем приложении. Как я могу это сделать? Спасибо.Как авторизовать NSAlert на OSX?

ответ

5

Ниже кода поможет вам

- (IBAction)showAlert:(id)sender { 
    //display the alert 
    self.myAlert = [NSAlert alertWithMessageText:@"Sample Test" defaultButton:@"OK" alternateButton:@"DO Nothing" otherButton:@"CANCEL" informativeTextWithFormat:@"TEST",nil]; 
    [self.myAlert beginSheetModalForWindow:[self window] 
         modalDelegate:self 
         didEndSelector:@selector(errorAlertDidEnd:returnCode:contextInfo:) 
          contextInfo:nil]; 

    NSArray *buttonArray = [self.myAlert buttons]; 
    NSLog(@"Button Arrays %@",buttonArray); 

    //Close by itself without a mouse click by the user 
    //Assuming the Default Button as the Second one "Do Nothing 
    NSButton *myBtn = [buttonArray objectAtIndex:2]; 
    [myBtn performClick:self.myAlert]; 

}

+0

Спасибо, но я не хочу добавить любую кнопку тревоги. И можете ли вы показать мне, как отклонить nsalert при вызове другой функции? –

+0

Это сработало для меня: [self.myAlert.window orderOut: self]; [self.myAlert.window close]; – lifjoy