presentModalViewController не работает? - PullRequest
1 голос
/ 11 января 2010

я закодировал действие кнопки как

  [UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainDelegate.window cache:NO];
[mainDelegate.window addSubview:[self.calcentryController view]];
[UIView commitAnimations];

работает нормально, но когда я использую в calcentryController.m в одно действие

  [self presentModalViewController:self.weeklyScoreController animated:YES];

чтобы перейти на другой viewcontroller, не работает какая-либо помощь, пожалуйста?

Ответы [ 4 ]

1 голос
/ 11 января 2010

Есть ли причина, по которой вы не используете presentModalViewController для calcentryController? Вы можете установить modalTransitionStyle на calcentryController на UIModalTransitionStyleFlipHorizontal и просто использовать presentModalViewController:animated вместо ручной анимации.

Причина, по которой это может помочь, заключается в том, что ваш код не вызывает определенные функции, такие как viewWillAppear:, viewDidAppear: и т. Д., Тогда как presentModalViewController:animated вызывает все нужные функции для представления новых представлений.

0 голосов
/ 13 января 2011

Если у вас есть глубокая иерархия представлений контроллеров представлений, представленных друг другу, то всегда старайтесь сразу представить viewcontroller, чье представление непосредственно добавляется в окно вашего приложения iphone.

Например, У меня было 4 уровня зрения как окно> вид vc1> вид vc2> вид vc3

Так что, когда я пытался вызвать [vc3 presentModalViewController], он не работал .. Я должен был представить с vc1, и это сработало. Я ссылался на vc1 как свойство делегата приложения и, следовательно, мог легко получить к нему доступ.

Но опять же, я до сих пор не нашел фактическую причину, но могу сказать, что это сработало для меня.

0 голосов
/ 06 января 2011

Возможно, потому что ваш код находится в viewDidLoad вместо viewDidAppear согласно presentModalViewController ничего не делает

У меня была такая же проблема.

0 голосов
/ 11 января 2010

Возможно, ваш weeklyScoreController равен нулю. Я не уверен, где вы его создаете, поскольку блок кода не вставлен, но это обычная ошибка, которую я вижу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...