如何从messageviewcontroller中删除状态栏?

时间:2012-12-03 10:59:31

标签: iphone ios

我正在以编程方式从我的视图控制器发送短信,但现在它显示状态栏和垂直黑线

我的代码:

- (IBAction)SendTextBtnTapped:(id)sender {
    [self sendSMS:@"Body of SMS..." recipientList:[NSArray arrayWithObjects: nil]];
}


- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
{
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
    if([MFMessageComposeViewController canSendText])
    {
        controller.body = bodyOfMessage;    
        controller.recipients = recipients;
        controller.messageComposeDelegate = self;
        [self presentModalViewController:controller animated:YES];
    }    
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    [self dismissModalViewControllerAnimated:YES];

    if (result == MessageComposeResultCancelled)
        NSLog(@"Message cancelled");
    else if (result == MessageComposeResultSent)
        NSLog(@"Message sent");  
    else 
        NSLog(@"Message failed");
}

enter image description here

2 个答案:

答案 0 :(得分:1)

只需添加此行

即可
controller.wantsFullScreenLayout = YES;

OR 在现有MessageViewController之后添加此行,如下所示..

[self presentModalViewController:controller animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:YES];

OR 对于整个视图控制器使用bellow loginin viewWillAppear:粘贴此代码..

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];

答案 1 :(得分:1)

我认为你可以使用wantsFullScreenLayout

MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
    controller.body = bodyOfMessage;    
    controller.recipients = recipients;
    controller.messageComposeDelegate = self;
    controller.wantsFullScreenLayout = YES;  //<== add this
    [self presentModalViewController:controller animated:YES];
} 
相关问题