このコードは何ヶ月も (iOS 5.1 で) うまく機能していましたが、長い間チェックしていなかったので (おそらく iOS 6.0 の問題)、メッセージ本文や受信者などのテキストフィールドに焦点を当てます。
奇妙なことに、タップに反応するので、「To」または「Subject」にカーソルを設定するとカーソルが表示されるか、タップを押したままにしてズーム グラスをポップアップさせることができます。しかし、キーボードはありません:(
私が使用しているコードは次のとおりです。
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
[self presentModalViewController:mailer animated:YES];
[self resignFirstResponder]
私はこれについて多くのことを検索してきましたが、 orを扱うものを見つけました[mailer becomeFirstResponder]
が、うまくいきませんでした。
コントローラーを提示する前または後にこのコードを追加すると
NSLog(@"mailer become %d", [mailer canBecomeFirstResponder]);
ただし0
、
NSLog(@"self resign %d", [self resignFirstResponder]);
が表示1
されますが、追加する前は0
多すぎました
- (BOOL)canResignFirstResponder {
return YES;
}
ドキュメントはYES
、デフォルトで返されるはずだと言っているので、二重に奇妙です。
そのようなコードで空のプロジェクトを作成するとうまくいきますが、現在のプロジェクトが非常に巨大であるため、実際にはできません。ここで立ち往生しています...
iPhone と iOS シミュレーターの両方でテスト済み (デプロイメント ターゲット 5.1 と 6.0 の両方)