UIWindow
w Storyboard projektu można podklasy jak wyjaśniono w Apple UIApplicationDelegate
odniesienia:
okna
Kiedy storyboard jest używana aplikacja musi przedstawić storyboard, dodając je do okna i umieszczenie tego okna na ekranie. Aplikacja zapytuje o tę właściwość dla okna. Zachowane odniesienie do okna według tej właściwości jest konieczne, aby zapobiec zwolnieniu okna . Jeśli wartość właściwości to nil
(domyślna wartość to ), aplikacja tworzy ogólne wystąpienie UIWindow
i przypisać je do tej właściwości dla delegata do odwołania. Możesz zaimplementować metodę getter tego protokołu, aby udostępnić aplikację w innym oknie.
Innymi słowy w implementacji AppDelegate
prostu dodaj następującą 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 { }
}
Czy możesz podać, w jaki sposób mogę zmienić zdobywcę w Swift? –
Zaktualizowałem odpowiedź za pomocą kodu Swift –
Wielkie dzięki. To zadziałało. Nie tworzyłem tego, żeby uzyskać błąd. –