MFMessageComposeViewController авто-увольнение - PullRequest
0 голосов
/ 10 декабря 2011

В моем приложении я предоставляю пользователю MFMessageViewController, и через 10 секунд я автоматически отклоняю его, вызывая

[self.presentedViewController performSelector:@selector(dismissModalViewControllerAnimated:) 
    withObject:[NSNumber numberWithBool:YES] afterDelay:10];

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

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

, но у меня нет возможности узнать, когда пользователь начал редактировать MFM способами, описанными выше.Есть ли решение для этого?

Ответы [ 2 ]

2 голосов
/ 10 декабря 2011

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

Это просто не интуитивно понятноПочему вы хотите уволить в 10 секунд?Просто пусть это будет.

Все должно быть сделано как можно проще, но не проще - Альберт Эйнштейн

1 голос
/ 10 декабря 2011

Как уже отмечал Срикар, это может быть плохой идеей, а не тем, чего ожидает пользователь.

Тем не менее, вы можете наблюдать уведомление UIKeyboardWillShowNotification.Любое взаимодействие с контроллером просмотра почты вызывает клавиатуру, поэтому, если пользователь ничего не делает, он не отображается.Конечно, нет никакой гарантии, что пользователь на самом деле что-то набрал, но я думаю, что это самое близкое, что вы получите.

...