• macOS开发 提示窗NSAlert的用法(持续更新中)


    Mac开发-如何弹出提示窗口

       NSAlert *alert = [[NSAlert alloc] init];
            alert.messageText = @"主标题";
            alert.informativeText = @“我来了”t;//内容
            [alert addButtonWithTitle:@"确定"];//按钮所显示的文案
            [alert runModal];
            //注意,以上操作需要在主线程中进行,否则会报错

     最简单的提示窗

    要控制按钮,增加按钮。如图

     NSAlert *alert = [[NSAlert alloc] init];
    
        alert.icon = [NSImage imageNamed:@"apple-touch-icon-next"];
    
        alert.alertStyle = NSAlertStyleWarning;
    //    NSAlertStyleWarning = 0,
    //    NSAlertStyleInformational = 1,
    //    NSAlertStyleCritical = 2
        [alert addButtonWithTitle:@"确定"];
    
        [alert addButtonWithTitle:@"取消"];
    
        alert.messageText = @"title";
    
        alert.informativeText = @"msg";
    
        alert.showsSuppressionButton = YES;
        // 方式1
        [alert beginSheetModalForWindow:self.view.window completionHandler:^(NSModalResponse returnCode) {
            if (returnCode == NSAlertFirstButtonReturn) {
                NSLog(@"确定");
    
            } else if (returnCode == NSAlertSecondButtonReturn) {
                NSLog(@"取消");
    
            } else {
                NSLog(@"else");
            }
        }];

    其中alertStyle,变换可以切换状态如图

    把上面的代码中这一行换成这个状态 

     alert.alertStyle = NSAlertStyleWarning;

    替换

     alert.alertStyle = NSAlertStyleCritical;

    就是上图的效果了

    控制上面按钮的还有方式二

    /*! 方式2
    NSModalResponse response = [alert runModal];
    if (response == NSModalResponseStop) {
    
    }
    if (response == NSModalResponseAbort) {
    
    }
    if (response == NSModalResponseContinue) {
    
    }
    */

    使用方式1的时候需要注意的是window不能为nil,不要讲NSAlert添加在HomeVC的ViewDidLoad中,此时Window还没创建成功。

    macOS的另一种弹窗,如图所示

     下回再讲

  • 相关阅读:
    js中实现继承的几种方式
    js中prototype,__proto__,constructor之间的关系
    圣杯布局
    BFC详解
    Altium制作DC002的PCB封装和3D模型
    直流供电电路中,关于电源并联二极管、电容作用的思考与总结
    AltiumDesigner17快捷键
    AltiumDesigner17学习指南
    AltiumDesigner元器件搜索中英文对照
    智慧树自动刷课脚本
  • 原文地址:https://www.cnblogs.com/gaozhang12345/p/16143150.html
Copyright © 2020-2023  润新知