1

写真は千の言葉の価値があります:

ここに画像の説明を入力してください

コードのステータスバーをオフにすることで、アプリが全画面表示に設定されます。すべてのUIViewControllerはフルスクリーンです。それらはすべて期待どおりに動作します。回転もありません。アプリ全体が縦向きのままです。これも問題なく動作します。

「新しいメッセージ」インターフェイスは期待どおりにアニメーション化されますが、ステータスバーが再表示され、最悪の場合、「新しいメッセージ」ビューがその下に表示されます。

私はMessageUIフレームワークを使用して、ユーザーがSMSメッセージを送信できるようにしています。メッセージ作成インターフェイスの表示方法は次のとおりです。

if([MFMessageComposeViewController canSendText])
{
    MFMessageComposeViewController *msgvc = [[MFMessageComposeViewController alloc] init];
    msgvc.body = @"SMS message content";
    msgvc.recipients = [NSArray arrayWithObjects:@"1234567890", @"2345678901", nil];
    msgvc.messageComposeDelegate = self; 
    [self presentModalViewController:msgvc animated:YES];

    [msgvc release];
}

遊んでみましたwantsFullScreenLayoutが、何もしませんでした。私はグーグルを通してこの問題へのいくつかの言及を見つけましたが、解決策はありませんでした。

4

1 に答える 1

0

これが私が問題を解決した方法です:

MessageUIビューコントローラーを表示した後、この1行のコードを追加して、ステータスバーを再度非表示にしました。

[self presentModalViewController: msgvc animated:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:TRUE];
[msgvc release];

アプリケーションがフルスクリーンモードで起動したとしても(アプリデリゲートのコードでセットアップ)、MessageUIではステータスバーをもう一度処理する必要があるようです。

于 2012-07-08T03:49:48.503 に答える