Как скрыть UIView полностью при изменении ориентации?

Я хочу разработать контроллер представления/представления, который автоматически показывает/скрывает подпредставление когда в альбомной ориентации. Я хочу, чтобы подпредставление к dissapear полностью и другие подпредставления заняли свое место.

Используя UIViewController, я написал код, который устанавливает свойство кадра подпредставлений, и обратитесь к нему:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration;

Это решает проблему большинство времен, но имеет проблемы, когда изменение ориентации происходит, когда представление не появляется. для обхода этого я также обращаюсь к методу изменения размеров:

- (void)viewWillAppear:(BOOL)animated;

но это имеет проблемы в некоторых редких случаях (вовлекающий UISearchDisplayController), таким образом, я также обращаюсь к методу изменения размеров

- (void)viewDidAppear:(BOOL)animated;

Как можно понять, я недоволен этим кодом, и я ищу лучше/больше производительный способ сделать это.

Какие-либо идеи?

10
задан Panagiotis Korros 12 March 2010 в 14:17
поделиться