美文网首页MacOS开发 技术集锦iOS开发iOS Developer
MacOS学习五:关闭窗口退出程序与NSAlert

MacOS学习五:关闭窗口退出程序与NSAlert

作者: 简鱼7819 | 来源:发表于2017-03-29 10:40 被阅读160次

一,关闭窗口退出程序

使用过mac的伙伴应该知晓一种情况,mac上的一些应用点击应用窗口左上角“x”按钮也就是关闭按钮后,应用并非真正退出,而是处于一种模态运行当中。

由于工作项目的需要,要求点击关闭按钮,关闭应用窗口的同时关闭应用程序运行。以下提出两种方法:

一种很简单的方法:直接在AppDelegate中添加

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender{

        return YES;

}

BOOL布尔值返回YES表示窗口程序两者都关闭,返回NO表示只关闭窗口;

另一种方法:在窗口window所在的windowController中添加NSWindowDelegate代理方法

在- (void)windowDidLoad 方法中添加代理

self.window.delegate = self;

实现代理方法

//控制的窗口的关闭

- (BOOL)windowShouldClose:(id)sender {

exit(0);

return YES;

}

其中BOOL布尔值本身返回值是对当前窗口是否关闭的控制

二,NSAlert使用

NSAlert *alert = [[NSAlert alloc] init];

alert.messageText = @"提示";

[alert setShowsHelp:NO];

alert.informativeText = @"请输入您的口令";

alert.alertStyle = NSAlertStyleWarning;

[alert addButtonWithTitle:@"确定"];

[alert runModal];

其中messageText是提示的标题,informativeText是提示内容,alertStyle是提示的样式,runModal则是运行alert提示框!

当然也可以自定义NSAlert,通过[[[NSAlert window] contentView] addSubview:view]接口来添加子视图view,并设置子视图的位置和大小,依次来添加自定义内容,如表格、文本框之类的视图。

如果要自定义NSAlert👇下方按钮样式,需要先删除原先的按钮,通过[[NSAlert window] contentView]中的子视图来实现,判断子视图中如果存在NSButton类型,则移除该子视图。

自定义按钮向alert视图的响应函数传递消息的方式可以通过[NSApp endSheet: [alert window] returnCode:NSAlertAlternateReturn];这样类似的语句来完成。

参考博客:blog.csdn.net/freewaywalker/article/details/38275491

个人总结分享,谢谢!!!

相关文章

  • MacOS学习五:关闭窗口退出程序与NSAlert

    一,关闭窗口退出程序 使用过mac的伙伴应该知晓一种情况,mac上的一些应用点击应用窗口左上角“x”按钮也就是关闭...

  • Mac 常用快捷键

    显示隐藏的文件 command+shift+.隐藏窗口 command+h关闭窗口 command+w退出程序 c...

  • 在linux下发布jar包

    上传jar到服务器 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 &代表...

  • macOS开发-NSAlert

    macOS桌面开发NSAlert的使用 1 简述 附加到窗口的模式对话框或工作表,可以定义标题,描述详情,图标,按...

  • 快捷键Xcode

    隐藏xcode command+h 退出xcode command+q 关闭窗口 command+w 关闭所有窗口...

  • 关闭ssh后,服务依旧运行

    问题:启动一后台服务,关闭ssh窗口后,服务一同退出原因:SIGHUP 信号解决:使用nohup命令让程序在关闭窗...

  • MAC 常用快捷键

    * cmd+C:拷贝 * cmd+V:粘贴 * cmd+W:关闭窗口 * cmd+Q:退出程序 * cmd+I:显...

  • Mac 快捷键

    * cmd+C:拷贝 * cmd+V:粘贴 * cmd+W:关闭窗口 * cmd+Q:退出程序 * cmd+I:显...

  • mac 常用快捷键整理

    mac 快捷键操作 cmd+W : 关闭窗口 cmd+Q : 退出程序 cmd+F : 在当前应用程序中搜索 cm...

  • Linux 后台启动运行jar包

    1、首先基本的运行 jar 包命令如下 这个命令会锁定命令窗口,当窗口关闭时,程序也就自动退出了,所以需要让 ja...

网友评论

本文标题:MacOS学习五:关闭窗口退出程序与NSAlert

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