Я работаю над приложением OS X и новичок в разработке Swift и OS X. У меня есть окно, в котором я хочу быть модальным, и время от времени будет отображаться много контента, поэтому я хочу разрешить ему войти в режим FullScreen. После этого окно и код ниже выполняют это, но выход из режима FullScreen заставляет окно исчезать. Если я перейду на другой рабочий стол и вернусь, окно вернется. Ниже представлен код делегата моего приложения.Модальный NSWindow исчезает после выхода FullScreen
import Cocoa
class AppDelegate: NSObject, NSApplicationDelegate {
let theApp: NSApplication = NSApplication.sharedApplication()
var fooController: FooController?
func applicationDidFinishLaunching(aNotification: NSNotification?) {
// Insert code here to initialize your application
}
@IBAction func sessionFoo(sender: AnyObject) {
if fooController == nil {
fooController = FooController(windowNibName: "FooWindow")
}
// This works when it returns from FullScreen but isn't modal
// fooController!.showWindow(self)
// This is modal but the window disappears when returning from FullScreen
theApp.runModalForWindow(fooController!.window)
}
}
В инспекторе Атрибуты для окна: проверяются следующие:
Shadow
Close
Resize
Restorable
Deferred (for Memory)
Все «Прогнозные Поведение»
Полный Экран «Основное окно», я пытался " Вспомогательное окно "без везения.
Память "Буферирована".
Это дополнительное окно для приложения на основе документа. Что мне не хватает? Благодарю.
Я полагаю, это потому, что создание окна в полноэкранном режиме завершает модальное окно. –
Нет, модальное окно не заканчивается. В полноэкранном режиме модальное окно присутствует и ведет себя по желанию. Выход из полноэкранного режима приводит к тому, что модальное окно перестает быть видимым, но основное окно все равно не может принимать вход так же, как при наличии модального окна. После переключения на другой рабочий стол OS X и обратно модальное окно снова появляется и по-прежнему имеет модальное поведение. – user2129643