MFMailComposeViewController из всплывающего окна - PullRequest
0 голосов
/ 06 апреля 2011

У меня UIViewController отображается как всплывающее окно в моем приложении для iPad. В нем есть кнопка, которая запускает MFMailComposeViewController для отправки электронной почты. Тем не менее, в настоящее время он, похоже, ничего не делает, даже если я сделаю этот контроллер представления не всплывающим, он будет работать нормально. Я предполагаю, что это потому, что я пытаюсь вызвать один модальный экран от другого, поэтому мой вопрос: есть ли способ сделать это? Какое здесь приемлемое взаимодействие?

Если я сначала пытаюсь закрыть свое модальное всплывающее окно, а затем отображаю MFMailComposeViewController, оно закрывает всплывающее окно, и ничего не происходит. Я попытался вставить контроллер вида сверху MFMailComposeViewController, так как это UINavigationController, в навигационный контроллер моего всплывающего окна, и я обновил панель навигации до нужной вещи, но без элементов управления. Он также вылетел, когда я нажал "Отмена":

-[NSPathStore2 _closeButtonClicked:]: unrecognized selector sent to instance 0xc602f70
(gdb) bt
0  0x020fa2f9 in objc_exception_throw ()
1  0x01fa80bb in -[NSObject(NSObject) doesNotRecognizeSelector:] ()
2  0x01f17966 in ___forwarding___ ()
3  0x01f17522 in __forwarding_prep_0___ ()
4  0x008994fd in -[UIApplication sendAction:to:from:forEvent:] ()
5  0x00aabcc3 in -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] ()
6  0x008994fd in -[UIApplication sendAction:to:from:forEvent:] ()
7  0x00929799 in -[UIControl sendAction:to:forEvent:] ()
8  0x0092bc2b in -[UIControl(Internal) _sendActionsForEvents:withEvent:] ()
9  0x0092a7d8 in -[UIControl touchesEnded:withEvent:] ()
10 0x008bdded in -[UIWindow _sendTouchesForEvent:] ()
11 0x0089ec37 in -[UIApplication sendEvent:] ()
12 0x008a3f2e in _UIApplicationHandleEvent ()
13 0x02597992 in PurpleEventCallback ()
14 0x01f87944 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
15 0x01ee7cf7 in __CFRunLoopDoSource1 ()
16 0x01ee4f83 in __CFRunLoopRun ()
17 0x01ee4840 in CFRunLoopRunSpecific ()
18 0x01ee4761 in CFRunLoopRunInMode ()
19 0x025961c4 in GSEventRunModal ()
20 0x02596289 in GSEventRun ()
21 0x008a7c93 in UIApplicationMain ()
22 0x00002c9e in main (argc=1, argv=0xbffff000) at /Users/abushnaq/AccurevWorkspaces/Future_Core_Integration_iphone/iPhoneClient/main.m:15

и ни один из этих стековых трасс не содержится в коде, который я написал.

Есть идеи?

1 Ответ

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

Ключ должен был закрыть предыдущий модальный элемент управления без анимации . Если я оживил увольнение первого, второй так и не появился. Я предполагаю, что причиной этого является асинхронная природа анимации.

...