Problem z orientacją urządzenia i UIView podczas uruchamiania

Pracuję nad projektem, w którym po naciśnięciu przycisku przez użytkownika zostanie odtworzone wideo, muszę zaprogramować tę aplikację dla wszystkich orientacji. Dodałem zdjęcia jako tło dla przycisków, którym przypisano położenie tych przycisków, w zależności od rozmiaru tego superviewu:

button1.frame = CGRectMake(0.15 * (self.view.frame.size.width),0.15 * (self.view.frame.size.height), 0.2 * (self.view.frame.size.width), 0.2 * (self.view.frame.size.height));

Kiedy uruchamiam aplikację na portrecie, jej widok jest w porządku, a także po obróceniu działa prawidłowo:

Ale jeśli uruchomię aplikację w krajobrazie, wyświetli się następujący widok:

Użyłem dużo kodu do zmiany rozmiarów widoków i podstron:

-(void) viewDidLoad
{

...
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin |
    UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
    UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

[self.view setAutoresizesSubviews:YES];

button1.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin |
    UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
    UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
...

}

oraz w didRotateFromInterfaceOrientation () i willRotateToInterfaceOrientation ():

...
    self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin |
        UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
        UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

    [self.view setAutoresizesSubviews:YES];

    button1.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin |
        UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
        UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
    ...

Podałem również TAK, aby zwrócić w shouldAutoRotate (). Czego mi tutaj brakuje? Każda pomoc zostanie doceniona.

questionAnswers(1)

yourAnswerToTheQuestion