Нынешний модальный и закрывающий вид контроллер не работает должным образом - PullRequest
3 голосов
/ 23 ноября 2011

У меня есть основной вид.С этого основного вида я показываю модальный вид (MV1).MV1 показывает другой модальный вид (MV2).

* кодирование основного вида: -

MV1 *MV1obj = [[MV1 alloc]initWithNibName:@"MV1" bundle:nil];
MV1obj.modalPresentationStyle=UIModalPresentationPageSheet;
[self presentModalViewController:MV1obj animated:YES];
MV1obj.view.superview.frame = CGRectMake(0, 0,730,620);
MV1obj.view.superview.center = self.view.center;

Когда я нажимаю кнопку в главном представлении, открывается представление модели MV1, его ширина и высота 730 и 620Модель MV1 содержит одну кнопку с изображением.Когда я нажимаю на эту кнопку, открывается представление модели MV2 и отображается полноэкранное изображение в представлении модели Mv2.

* Кодирование класса MV1: -

MV2 *MV2obj = [[MV2 alloc]initWithNibName:@"MV2" bundle:nil];
MV2obj.modalPresentationStyle=UIModalPresentationFullScreen;
[self presentModalViewController:MV2obj animated:YES];

Но когда я отклоняю представление модели Mv2,Вид модели Mv1 отображается в полноэкранном режиме.Но мне нужно отобразить модель Mv1 с шириной 730 и высотой 620.Может кто-нибудь сказать мне, в чем проблема с кодом?

Спасибо.

1 Ответ

2 голосов
/ 23 ноября 2011

Решено путем явной установки центра и кадра еще раз. Запишите эти строки в класс MV2 при отклонении self:

-(IBAction)logoClick:(UIButton*)sender{
    [self dismissModalViewControllerAnimated:YES];

    UIViewController *vc = [self parentViewController]; // it's your MV1 instance
    vc.view.superview.frame = CGRectMake(0, 0, 730, 620);
    vc.view.superview.center = CGPointMake(1024/2, 768/2);
}
...