Почему меняется исходный код моего кадра, не обновляя его местоположение на экране? (iOS 8)

У меня есть контроллер разделенного вида, с мастером и деталью. Когда в портрете, и мастер покрывает частично детализированный вид (iPad), мне хотелось бы, чтобы подробный вид был выведен, чтобы он исчез с экрана, а не был затенен мастером. Я достиг этой анимации, когда я нажимаю мастер на экране.

Однако при нажатии элемента в главном меню (ака меню) для вызова нового контроллера подробного представления этот вид viewController закрыт мастером. Итак, чтобы справиться с этим, я реализовал следующий код в контроллере подробного представления:

-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; CGRect detailFrame = self.view.frame; detailFrame.origin.x += (self.splitViewController.maximumPrimaryColumnWidth); self.view.frame = detailFrame; } 

Я использовал NSLog и подтвердил, что self.view.frame.origin.x действительно обновляется до правильного значения, но когда представление появляется на экране, его местоположение все еще находится у источника 0. Почему это происходит?

Interesting Posts
Давайте будем гением компьютера.