美文网首页码农的世界Mac OS XMac OS X 软件开发
一步一步熟悉Mac app开发(七)之NSAlert

一步一步熟悉Mac app开发(七)之NSAlert

作者: 拳战攻城师 | 来源:发表于2018-08-01 16:28 被阅读0次

    概要

    阶段一,警告窗口游离在外。
    阶段二,警告窗口处于主窗口内。

    阶段一 游离弹窗

    1.新建项目,打开storyboard,在默认的View Controller中添加一个按钮,并使用拖拽大法
    至ViewController.m 中。


    image.png

    1.打开ViewController.m,新增一个alert方法,并且在按钮事件中调用。

    //拖拽大法后产生的按钮事件被单击的方法。
    - (IBAction)btn_surprise:(id)sender {
        [self alert];
    }
    
    //自定义alert方法
    - (void)alert{
        NSAlert *alert = [[NSAlert alloc] init];
        alert.messageText = @"系统提示:";
        alert.informativeText = @"你有没有发现其实你是头可爱的小猪猪?";
        [alert addButtonWithTitle:@"嗯,发现了。"];
        [alert addButtonWithTitle:@"呃?是吗?"];
        [alert addButtonWithTitle:@"风太大,没听清楚你说啥。"];
        NSInteger ret = [alert runModal];
        switch(ret){
            case NSAlertFirstButtonReturn:
                printf("你是说你发现你是头猪?\n");
                break;
            case NSAlertSecondButtonReturn:
                printf("你是说你没发现你是头猪?\n");
                break;
            case NSAlertThirdButtonReturn:
                printf("不能愉快聊天了,886。\n");
                break;
            default:
                printf("可能发现了一个错误。\n");
                break;
        }
    }
    

    2.阶段一完成,效果如下。(此时的警告弹窗可以拖拽移动)


    image.png

    阶段二 固定在窗口内部

    1.注释掉原有调用方法,使用beginSheetModalForWindow方法。

    //    NSInteger ret = [alert runModal];
    //    switch(ret){
    //        case NSAlertFirstButtonReturn:
    //            printf("你是说你发现你是头猪?\n");
    //            break;
    //        case NSAlertSecondButtonReturn:
    //            printf("你是说你没发现你是头猪?\n");
    //            break;
    //        case NSAlertThirdButtonReturn:
    //            printf("不能愉快聊天了,886。\n");
    //            break;
    //        default:
    //            printf("可能发现了一个错误。\n");
    //            break;
    //    }
        [alert beginSheetModalForWindow:self.view.window completionHandler:^(NSModalResponse returnCode) {
            //此处省略处理语句(为各位看官省流量,真的不是我懒。)
        }];
    

    2.完成,效果如下。


    image.png

    相关文章

      网友评论

        本文标题:一步一步熟悉Mac app开发(七)之NSAlert

        本文链接:https://www.haomeiwen.com/subject/jkrrvftx.html