Почему кадр UIView не обновляется в ViewDidLayoutSubviews?

Я пытаюсь обновить кадрUIView который содержит кнопки и метки внутри. Я пытаюсь обновить его вviewDidLayoutSubviews (и я тоже попробовал вviewDidLoad, viewWillAppear, viewDidAppear..). Я хочу изменить позицию y (origin.y) представления. NSLogs говорит, что моя исходная позиция у - 334, а после изменения - 100. Однако, на мой взгляд, позиция не меняется. Я уже проверил, что представление связано в раскадровке. Что я делаю неправильно?

-(void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    CGRect theFrame  = [self.bottomView frame];
    NSLog(@"Y position bottomview: %f", self.bottomView.frame.origin.y);

    if([[UIScreen mainScreen] bounds].size.height == 568) //iPhone 4inch
    {
       // NSLog(@"iphone5");
    }
    else{
       // NSLog(@"iphone4");
        theFrame .origin.y =  100;
    }

    self.bottomView.frame = theFrame;
    NSLog(@"Y position bottomview after changing it: %f", self.bottomView.frame.origin.y);
    [self.view layoutIfNeeded];
}

Ответы на вопрос(3)

Ваш ответ на вопрос