2013-05-18 6 views
0

В качестве части моего обновления моих приложений для замены устаревшего текущегоModalViewController с помощью currentViewController я провел некоторое тестирование. То, что я нашел, было тревожным. В то время как presentModalViewController всегда работает, и нет никаких сомнений в его работе, я обнаружил, что метод presentViewController часто не отображает мой VC вообще. Нет анимации, и она никогда не появляется. Мой loadView вызывается без проблем, но фактический вид не отображается.iOS presentViewController не работает правильно

Так вот что я делаю:

  • Пользователь вводит кнопку в моем главном контроллере представления.
  • В обратном вызове для этого крана я создаю новый контроллер и отображаю его, как показано выше.
  • VC никогда не появляется (это проблема прерывистая), но поскольку этот VC начинает воспроизводить какой-то звук, я знаю, что его loadView был вызван, что выглядит следующим образом.

Моя кнопка нажата обратного вызова следующим образом:

- (void) buttonTapped: (id) sender { 
    VC *vc = [[VC alloc] init]; 
    [self presentViewController: vc animated:YES completion: nil]; 
    [vc release]; 
    } 

Вот мой loadview в классе ВК:

- (void) loadView { 
UIView *v = [UIView new]; 
self.view = v; 
[v release]; 
... create and addsubview various buttons etc here ... 
} 

Спасибо.

+1

вам понадобится часть кода ... – Franck

+0

Также вы видели сообщения, напечатанные в журнале? – Wain

+0

Нет, это не известная проблема. Скорее всего, вы делаете что-то неправильно. У меня никогда не было проблем с этим методом. Покажите свой код. – rdelmar

ответ

2

Убедитесь, что контроллер, вызывающий функцию, отображает его представление (или является родителем для отображаемого в данный момент), и он должен работать.

Смежные вопросы