0

、私はMFMessageViewControllerをユーザに提示し、10秒後に、私は、ユーザーがMFMを使用して開始している場合、問題は、ある MFMessageComposeViewController自動解雇

[self.presentedViewController performSelector:@selector(dismissModalViewControllerAnimated:) 
    withObject:[NSNumber numberWithBool:YES] afterDelay:10]; 
を呼び出すことによって、それを自動却下(すなわち、プラス記号を打つか打つか本文を編集して受信者を追加する)、私はこの呼び出しをキャンセルする方法がありません。私は

[NSObject cancelPreviousPerformRequestsWithTarget:self.presentedViewController 
    selector:@selector(dismissModalViewControllerAnimated:) object:[NSNumber 
    numberWithBool:YES]]; 

を呼び出すことができることを知っているが、私は、ユーザーが上記の方法でMFMの編集を開始した時に知る方法はありません。これには解決策がありますか?

答えて

2

MFMessageViewControllerの解雇をユーザーに任せておくことをお勧めします。ユーザーはそれを呼び出すと&彼はそれを却下するときに最高の裁判官になるでしょう。この場合、自動的に解除することは安全ではないと思う場合があります。&は場合によってはユーザーを怒らせるかもしれません。

それは直感的ではありません。なぜあなたは10秒で却下したいのですか?それだけにする。

すべてはできるだけシンプルなされていないが、ないより簡単なべきである - アルバート・アインシュタイン

+0

はい、この場合、ユーザーが注意を払わずにMFMを却下しない場合、残りのアプリの有効性が損なわれます。私はそのようなものを偶然に残したくない。ユーザーがMFMとやり取りを開始したときに通知を受け取る方法はありませんか? –

+0

「アプリの有効性が損なわれている」とはどういう意味ですか?ユーザーは、理由によりmailComposeウィンドウを開いた。彼はそれを閉じたいと思うときを決める。この場合、他の方法は直感的で直感的ではないでしょう。 –

+0

いいえ、ユーザーはMFMが初めて表示されることを期待していない可能性があります。形成される。アプリの本当の肉は、MFMが解雇されるまで起こらないので、私はタイマーを持っている。ユーザーがアプリを起動してすぐにスリープ状態にしてアプリが動作することを期待し、3時間後にMFMが自分を見つめ、データが記録されていないことを確認する必要があります。 –

1

Srikarがすでに指摘したように、これは悪いアイデアではなく、ユーザーが期待するものになるかもしれません。

つまり、UIKeyboardWillShowNotification通知を確認できました。メールビューコントローラとのやりとりがあれば、キーボードが表示されるので、ユーザーが何もしなければ、表示されません。もちろん、ユーザーが実際に何かを入力したという保証はありませんが、これはあなたが得られる最も近いものだと思います。

関連する問題