OSX10.11分屏(SplitView)功能的新特性研究(三)
自定义Titlebar时,使用系统的最大化按钮,在OSX10.11及其以后系统使用过程中有一些小的知识点需要注意下。
我们一般设置最大化按钮的响应事件,当点击最大化按钮时,会有一些必要的处理。
-(void)enterFullScreen
{
//触发全屏 (1)
[self.window toggleFullScreen:nil];
// or 自己写的触发窗口全屏的功能代码(2)
......
}
触发全屏时,可以使用方法(1),也可以使用方法(2)自己写的全屏功能的代码,设置窗口大小。触发全屏功能时,如果不让Titlebar隐藏,那么此时全屏按钮还是可以点击的,如果使用方法(2),那么此时问题就会来了,你会发现此时长按最大化按钮,还可以触发分屏功能。但是多次切换全屏到非全屏或取消分屏时,你会惊奇的发现分屏的半屏幕一片漆黑。
嘿嘿,这是什么原因?分屏功能触发时,设置了window的level,此时必须调用toggleFullScreen才可以保持window的level,要是自己写退出全屏的代码,此时window的level被搞乱了。因此在这种情况下,要特别的注意,由于可以捕获到分屏的状态,所以这样的情况可以被避免掉。
转载请注明出处:http://blog.csdn.net/skynullcode