Если у вас есть глубокая иерархия представлений контроллеров представлений, представленных друг другу, то всегда старайтесь сразу представить viewcontroller, чье представление непосредственно добавляется в окно вашего приложения iphone.
Например, У меня было 4 уровня зрения как
окно> вид vc1> вид vc2> вид vc3
Так что, когда я пытался вызвать [vc3 presentModalViewController], он не работал ..
Я должен был представить с vc1, и это сработало. Я ссылался на vc1 как свойство делегата приложения и, следовательно, мог легко получить к нему доступ.
Но опять же, я до сих пор не нашел фактическую причину, но могу сказать, что это сработало для меня.