代码之家  ›  专栏  ›  技术社区  ›  Eugene Trapeznikov

苹果的控制器在iOS7中无法正常显示

  •  0
  • Eugene Trapeznikov  · 技术社区  · 12 年前

    在我的iOS应用程序中,我提供了标准的控制器MFMessageComposeViewController和UIImagePickerController。

    但他们都展示了一个奇怪的导航栏。

    enter image description here

    enter image description here

    enter image description here

    我该如何解决这个问题?

    更新 控制器演示代码

    UIImagePicker控制器:

    UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
        cameraUI.sourceType = sourceType;
        cameraUI.allowsEditing = YES;
        cameraUI.delegate = self;
        [self presentViewController:cameraUI animated:YES completion:nil];
    

    MFMessageComposeView控制器:

    MFMessageComposeViewController *messageViewController = [[MFMessageComposeViewController alloc] init];
        if([MFMessageComposeViewController canSendText]) {
            messageViewController.view.backgroundColor = [UIColor whiteColor];
            messageViewController.messageComposeDelegate = self;
            recipient= [NSStringMask maskString:recipient withPattern:@"\\+(\\d{1}) \\((\\d{3})\\) (\\d{3})-(\\d{2})-(\\d{2})"];
            messageViewController.recipients = @[recipient];
            messageViewController.body = body;
            [self presentViewController:messageViewController animated:YES completion:nil];
        }
    
    2 回复  |  直到 12 年前
        1
  •  2
  •   mashdup    12 年前

    在iOS 7中,默认情况下,状态栏和导航是半透明的。使视图像iOS 6中那样“正常”。您需要将其添加到您正在演示的控制器中。

    if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
            self.edgesForExtendedLayout = UIRectEdgeNone;
    

    如果你想了解更多关于视图更改的信息。看看这篇文章。我发现这是一个很好的快速概述,改变了什么。

    http://www.brianjcoleman.com/ios7-weve-got-a-problem/

        2
  •  1
  •   Community CDub    8 年前

    看见 this question 。我使用了第二个答案,尽管我怀疑第一个答案也适用于我。

    推荐文章