0

2つのViewControllerで次のコードを使用しています。1つはボタンを押すことでトリガーされ、もう1つはテーブルセルをタップすることでトリガーされます。最初は、正常に動作します。

2番目の例では、テーブルセルのタップによってトリガーされ、フィールドが正しく入力されたメールコンポーザーが表示されますが、カーソルとキーボードが表示されないため、メールメッセージに実際に何も入力できません。([キャンセル]または[送信]を問題なく押すことができます。)何が問題なのか考えてみてください。ありがとう!

if ([MFMailComposeViewController canSendMail]) {
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    [picker setSubject:@"Message subject"];
    [picker setMessageBody:@"Sample message" isHTML:NO];

    [self presentModalViewController:picker animated:YES];

    [picker release];
} else {
    NSLog(@"cant send mail");
}
4

1 に答える 1

1

私は問題を理解しましたが、それはまったくばかげています - おそらくSDKのバグです。問題のある UIViewController を UIModalTransitionStyleFlipHorizo​​ntal で提示していましたが、正常な UIViewController をデフォルトのトランジション スタイルで提示していました。UIModalTransitionStyleFlipHorizo​​ntal についての何かが、提示されたビュー コントローラーを貪欲にしてファーストレスポンダーにしているようです。起動された MFMailComposeViewController にファーストレスポンダ ステータスを放棄することはありません。

于 2010-10-06T09:29:29.253 に答える