Размер вида изменяется при использовании перехода модели PartialCurl - PullRequest
0 голосов
/ 22 октября 2010

Хорошо, поэтому я пытаюсь воссоздать анимацию частичного сгиба, как в стандартном приложении 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), какие методы вызываются, где я могу вручную изменить размер представления до того размера, в котором я хочу, или есть способ, которым я могу остановить его от изменения размера себя.

Спасибо

1 Ответ

0 голосов
/ 19 апреля 2011

Ну, в конце концов я понял ответ на этот вопрос. Я не уверен, почему его размер был изменен, но установка фрейма вручную в viewWillDissapear, похоже, решила проблему.

...