ios - Setting self.view.frame after going back does not work -
i setting uitableviewcontroller 's frame in viewdidappear follows: self.view.frame = cgrectmake(0.0, 0.0, 320.0, 468.0); the original frame height 516.0 . this works fine , frame change. however, when go view controller (it in uinavigationcontroller ), frame not change (says @ 516.0 though line indeed called when going back. what causing frame not change second time controller shown , how rectify this? viewdidappear not called when dismiss modal view. think of modal view view on top on view. when push or pop view controller on/off navigaction controller's stack, usual viewwillappear / viewdidappear methods aren't called. if want ensure they're called, add uinavigationcontrollerdelegate protocol root view controller: