Ich setze AutoSafe für Fenster in IB. Im Fenstercontroller des Fensters mache ich folgendes -Wie wird die NSWindow-Position für mehrere Bildschirme gespeichert?
override func windowDidLoad() {
super.windowDidLoad()
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
self.window?.setFrameUsingName("TestWindowContollerAutoSaveName")
}
Dies ist so einfach wie möglich sein kann. Es funktioniert perfekt, wenn ich es auf einem einzigen Bildschirm benutze. Aber wenn ich mehrere Bildschirme verwende, dann ist die anfängliche Fensterposition immer auf dem Hauptbildschirm. Es erinnert sich nicht an den Bildschirm, auf dem App beendet wurde. Ich habe auch versucht (ohne Glück) -
override func windowDidLoad() {
super.windowDidLoad()
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
let frameString = self.window?.stringWithSavedFrame
if let _ = frameString{
self.window?.setFrameFromString(frameString!)
}
}
Wie richtig setFrameUsingName verwenden Methode? Danke für Ihre Hilfe.
Danke für die Antwort. Aber meine Abfrage bezieht sich auf NSWindow und NSView nicht UIWindow oder UIView. – Abhishek
Nicht sicher dann. Möglicherweise möchten Sie Ihre Frage aktualisieren, um die Begriffe NSWindow und NSView einzubeziehen. Wenn Ihre Antwort klar ist, erhalten Sie eher Hilfe von anderen. –