在可可應用程序中,當您有未保存的數據時,您經常會在窗口的關閉按鈕中看到一個小紅點; TextEdit就是一個很好的例子。我已經通過Cocoa文檔瞭解,但是我找不到以編程方式設置此狀態的方法。我確信有一些非常簡單的方法來做到這一點,但顯然我錯過了一些東西。你如何改變Cocoa窗口關閉按鈕的狀態?
15
A
回答
15
要以編程方式進行設置,可以使用NSWindow的-setDocumentEdited:
方法。如果您正在編寫基於文檔的應用程序,NSDocumentManager應該會自動檢測與當前NSDocument關聯的NSUndoManager存在未保存更改的時間。
13
取決於您正在構建什麼樣的應用程序。如果是基於NSDocument
,則使用NSDocument
的updateChangeCount:
方法。如果您剛獲得NSWindowController
,請使用setDocumentEdited:
。 NSWindow
有一個setDocumentEdited:
方法,如果你只有NSWindow
。
9
另外,在10.6中,'setDocumentEdited'標記應用程序很髒,所以不能被快速殺死。如果你不叫這樣做,並設置標誌Info.plist中(見What's New in 10.6)
<key>NSSupportsSuddenTermination</key>
<string>YES</string>
這樣,如果你的應用程序正在運行(但不髒),那麼Mac OS X可以簡單地殺死它,而不是調用禮貌的關閉請求。如果您的文檔被標記爲髒(或窗口),那麼它將通過正常的應用程序關閉過程關閉它。
相關問題
- 1. 關閉按鈕上的窗口單擊
- 2. 窗口關閉按鈕劫持雪豹
- 3. 關閉窗口按鈕單擊
- 4. 子WebBrowser窗口上的「關閉」按鈕關閉父窗口(.NET,winforms)
- 5. 如何通過按下按鈕來關閉Tkinter窗口?
- 6. 用模態窗口中的按鈕替換關閉圖標
- 7. Cocoa AppKit - 關閉模式窗口(即彈出窗口或上下文菜單)並按下上面的按鈕
- 8. 如何關閉彈出式窗口中的按鈕的自舉彈出窗口?
- 9. 如何處理可可中的窗口關閉按鈕
- 10. 如何禁用Windows上的Perl/Tk窗口關閉('X')按鈕
- 11. 如何使用wxpython禁用OSX中的窗口關閉按鈕?
- 12. 如何隱藏kendo模式窗口上的關閉按鈕
- 13. 如何通過關閉窗口按鈕發送彈出窗口的值
- 14. 如何在關閉該彈出窗口的彈出窗口上製作按鈕
- 15. monomac - 如何在單擊主窗口中的按鈕時關閉子窗口
- 16. 如何按ESC鍵關閉boxy窗口?
- 17. 如何關閉模態窗口?
- 18. 哪個窗口字體顯示窗口關閉按鈕?
- 19. silverlight子窗口樣式可拆窗口關閉按鈕
- 20. 的Android:按鈕狀態改變事件
- 21. JavaScript的改變按鈕狀態
- 22. 以窗口形式更改關閉按鈕
- 23. 單擊關閉窗口按鈕時更改操作
- 24. Bootstrap模式窗口更改關閉按鈕樣式
- 25. 無關閉窗口的關閉窗口
- 26. 如何關閉變量中的按鈕?
- 27. 如何檢測通過Alt + F4關閉的瀏覽器窗口或單擊窗口的關閉按鈕?
- 28. 產生「X」用CSS3漸變爲引導模態窗口關閉按鈕
- 29. 如何關閉一個窗口,當你點擊一個按鈕打開另一個窗口
- 30. 如何添加一個關閉按鈕彈出窗口