UIWindow
in un progetto Storyboard può essere derivata come spiegato in UIApplicationDelegate
riferimento di Apple:
finestra
Quando viene utilizzata una storyboard, l'applicazione deve presentare il storyboard aggiungendolo ad una finestra e mettendo quella finestra sullo schermo. L'applicazione richiede questa proprietà per la finestra. Il riferimento trattenuto alla finestra da questa proprietà è necessario per impedire la pubblicazione della finestra . Se il valore della proprietà è nil
(il valore predefinito ), l'applicazione crea un'istanza generica di UIWindow
e assegnarla a questa proprietà affinché il delegato faccia riferimento. È possibile che implementino il metodo getter di questo protocollo per fornire l'applicazione con una finestra diversa.
In altre parole nella tua AppDelegate
implementazione è sufficiente aggiungere il seguente getter
Objective-C
- (MyCustomWindow *)window
{
static MyCustomWindow *customWindow = nil;
if (!customWindow) customWindow = [[MyCustomWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
return customWindow;
}
Swift
var customWindow: MyCustomWindow?
var window: UIWindow? {
get {
customWindow = customWindow ?? MyCustomWindow(frame: UIScreen.mainScreen().bounds)
return customWindow
}
set { }
}
fonte
2012-05-14 08:48:17
Potete per favore fornire come posso ignorare getter in Swift? –
Ho aggiornato la risposta con il codice Swift –
Grazie mille .. Ha funzionato. Non stavo creando setter per quello in modo da ottenere un errore. –