

OSX 开发知识点汇总(四)
source link: http://www.wxtlife.com/2018/08/19/osx-dev-summary-4/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在 AppDelegate 中,复写 applicationShouldTerminate
方法可以达到控制是否点击关闭按钮是否关闭应用的效果,其返回值 TerminateReply
有三个值,具体如下:
public enum TerminateReply : UInt { case terminateCancel // 取消掉关闭,等于点击无作用 case terminateNow // 现在直接关闭 case terminateLater // 暂且不关闭 }
在下面的返回值可根据一些条件进行判断,比如有些应用点击关闭按钮是仅将窗口关闭,并最小化应用不退出,则可以根据设置情况进行返回不同的值。
func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply { return .terminateNow }
2. applicationShouldTerminateAfterLastWindowClosed
在 AppDelegate中 applicationShouldTerminateAfterLastWindowClosed
中的作用为确认是否是等待所有窗口关闭后才关闭整个应用的作用。
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true }
3. NSWindow windowShouldClose
在每个NSWindow中,有很多的NSWindowDelegate方法,其中 windowShouldClose
可以根据返回值控制是否可以关闭此窗口,比如有些情况我们的内容没保存,而直接点击 关闭
按钮时,可进行不关闭此窗口,而是进行提示,那么就可以通过此属性进行控制。
func windowShouldClose(_ sender: NSWindow) -> Bool { return false // window 不关闭 }
4. NSWindow 单例
在应用中经常会有很多的弹窗,但这些弹框是需要只弹一个的(未关闭多次点击不新建,显示原来的那个),这时候就需要设置Window的属性。具体如下:
选中 目标window
上的 Window Controller
然后在属性栏中选中 show the attributes inspector
即可看到 Presentation
,然后选则 single
即可,默认是 Multiple
。
自定义控件属性
在 Android 中自定义View,可以自定义很多的属性,对控件进行设置,在 iOS/OSX 中同样存在对自定义控件添加属性的方法,具体为 IBInspectable
和 IBDesignable
两个属性,定义了此属性后,在XCode中设置了View为此类型后,可以有可视化的设置项,很是方便,具体可以参考这篇文章: https://zhangbuhuai.com/ibinspectable-and-ibdesignable/
Recommend
-
47
下面为最近使用swift 进行 OSX 开发中,对于一些知识点的总结与汇总,主要是跨行过来,很多内容都不太熟悉,所以这里进行一部分的记录与总结,方便日后的回顾与思考,后续有新的也会继续进行补充。 swift 代码同步块
-
45
在 OSX 中有一些列表的需求,这时候需要使用 OSX 中 TableView 来实现,但是这个 TableView 与 Android的 ListView 不太一样。使用还是比较复杂的。下面做一个简单的介绍, TableView 的使用 首先...
-
26
一年前写了一篇JavaScript八张思维导图,主要是对前端JavaScript知识点的一个系统的整理和总结。本篇文章用了近一个月时间,搜集整理了网上各种面试笔...
-
23
一年前写了一篇JavaScript八张思维导图,主要是对前端JavaScript知识点的一个系统的整理和总结。本篇文章用了近一个月时间,搜集整理了网上各种面试笔试题及本人针对前端的一些理解以及各路大神针对前端难点部分的详细介绍,可以作为以后面试或者考察面试人员
-
23
1.数据类型 1.1装箱和拆箱问题 1.2 缓存池 从深入理解Java虚拟机一书来说,是不存在这个说法的。从大部分百度而来的结果,就是说如下: 123,这个数字存在哪里? 这个从JVM来说,它是存在常量池...
-
12
听说微信搜索《Java鱼仔》会变更强哦! 本文收录于JavaStarter ,里面有我完整的Java系列文章,学习或面试都可以看看哦 (一)概述 在考研的时候,...
-
15
部分内容收集于网络~ dict 字典 python中的字典的实现也是一个散列表。是key-value结构。 Python的dict和set为什么是无序的? 为什么不是所有的python对象都可以用作dict的键和set中的元素 要弄懂上面的问题...
-
12
最近的项目中用了VUE,里面有不少的知识点和相关需求的解决方法值得记录下,作为后面的参考,不然时间一长还是会忘掉。汇总在这里逐渐更新吧。VUE的文档做的并不好,因为它默认隐藏的知识线索太多。普通用户看文档,基本上不知所云。很多问题没有第三方...
-
9
前段时间有粉丝问我,大一结束c++刚学完,不知道自己目前学得怎么样?要掌握的知识点有没有都弄懂了?是否基础入门了? 前几天已经整理过C++基础入门知识点,没看过的可以看看喔!
-
6
Redis 面试题&知识点汇总(2021最新版)| JavaGuide思特沃克软件技术(武汉)有限公司 软件工程师Java 面试题系列目前已经更新下面这些原创文章,文章质量非常高,...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK