Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理
Xcode默認(rèn)的向?qū)傻墓こ痰膸в嘘P(guān)閉,最小化,最大化這幾個(gè)按鈕,
關(guān)閉按鈕的事件,最讓窗口最小化到Dock中,但當(dāng)你點(diǎn)擊Dock卻無(wú)法恢復(fù),而在Window菜單中也不會(huì)多一個(gè)與你程序同名的“X-X-X”菜單項(xiàng),這樣的程序體驗(yàn)不好,如果提到App Store肯定也是會(huì)被拒的。當(dāng)然你如果在程序起動(dòng)的時(shí)候,首先不點(diǎn)擊“關(guān)閉”按鈕,而是點(diǎn)擊最小化,你會(huì)發(fā)現(xiàn)菜單中的Window菜單欄中的最下面會(huì)多出一個(gè)與程序同名的“X-X-X”菜單項(xiàng)。這是程序自成生成的。當(dāng)你點(diǎn)“X-X-X”菜單項(xiàng)時(shí),程序就會(huì)恢復(fù)到原來(lái)的樣式。
觀察很多程序的處理方法:
(1)一個(gè)是點(diǎn)擊關(guān)閉按鈕后了讓其最小化到Dock欄中,系統(tǒng)不自動(dòng)在Window菜單中添加“X-X-X”菜單項(xiàng),注意此時(shí)窗口中屬性中的"Release When Closed"選項(xiàng)不能勾選,否則就會(huì)出錯(cuò)。
?
-(BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
?{
? ? [window makeKeyAndOrderFront:nil];
? ??return?YES;
}
?
?(2)一個(gè)方法是點(diǎn)擊關(guān)閉按鈕后直接讓程序退出,這個(gè)方法比較簡(jiǎn)單。
?
//Make ourselves delegate so we'll receive actions as firstResponder
[NSApp?setDelegate:self];
?
//Quit the application when the main window is closed (seems to be accepted in Mac OS X)
[[NSNotificationCenter?defaultCenter]?addObserver:self?selector:@selector(closeWindow)name:NSWindowWillCloseNotification?object:mainWindow];
?
?
- (void)closeWindow
{
[NSAppterminate:self];
}
文字轉(zhuǎn)載:http://m.blog.csdn.net/blog/yuanya/24813975
轉(zhuǎn)載于:https://www.cnblogs.com/741162830qq/p/5034928.html
總結(jié)
以上是生活随笔為你收集整理的Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: iOS-在团队开发过程中控制代码版本
- 下一篇: 第二章 Linux系统安装 - VMwa
