Хорошо, поэтому я пытаюсь воссоздать анимацию частичного сгиба, как в стандартном приложении Google Maps на iphone, где панель инструментов внизу остается там, где она есть, но виды над ней скручиваются и тому подобное. Вот несколько изображений:
http://i.stack.imgur.com/MjTx6.png
(по какой-то причине я не буду вставлять гиперссылки <_ <) </p>
http: // i.imgur.com/lc9ig.png
http: // i.imgur.com/hqMlN.png
Как вы видите, белый вид имеет правильный размер (320х416, точка: (0,0)) и переворачивается. Панель инструментов остается там, где она есть. Когда фокус возвращается к белому изображению, он изменяет свой размер (320x460, точка: (0, -22)).
Я добавил viewWillAppear, viewWillDissapear, viewDidAppear и viewDidDissapear к классу белого представления, и ни один из этих методов никогда не вызывался (что странно, потому что я предполагаю, что вызываемые методы будут вызываться при первой инициализации представления).
Вот где я инициализирую белый вид:
- (void)viewDidLoad {
[super viewDidLoad];
mapController = [[MapViewController alloc] init];
mapController.modalPresentationStyle = UIModalPresentationFullScreen;
[self.view addSubview:mapController.view];
}
и вот что происходит, когда вы нажимаете кнопку завитка:
- (IBAction)curlPage:(id)sender {
SettingsViewController *settingsController = [[[SettingsViewController alloc] init] autorelease];
settingsController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[mapController presentModalViewController:settingsController animated:YES];
}
Поэтому я предполагаю, что мой вопрос: когда элемент управления возвращается к белому представлению (mapController), какие методы вызываются, где я могу вручную изменить размер представления до того размера, в котором я хочу, или есть способ, которым я могу остановить его от изменения размера себя.
Спасибо