0

我在我的应用程序中使用以下代码禁用了横向模式。:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);


}

但是当邮件视图显示它以某种方式启用陆地横向模式时。

邮件操作代码:

if ([MFMailComposeViewController canSendMail])
            {
                MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
                mailer.mailComposeDelegate = self;
                [mailer setSubject:@"Subject 1"];
                UIImage *myImage = [UIImage imageNamed:@"logo_v22.png"];
                NSData *imageData = UIImagePNGRepresentation(myImage);
                [mailer addAttachmentData:imageData mimeType:@"image/png" fileName:@"mobiletutsImage"];
                NSString *emailBody = @"Test ";
                [mailer setMessageBody:emailBody isHTML:NO];

                [self presentModalViewController:mailer animated:YES];


            }

主要问题:如何在 mailView 中禁用横向模式?


附加问题:如何更改 mailView 中按钮的颜色?(取消按钮和发送按钮)

4

1 回答 1

1

您需要做的是子类化 MFMailViewController 并覆盖它的方向。这里有一个很好的例子:横向的 MFMailComposeViewController你只需要改变它以适应你想要的方向。

编辑:这基本上是因为视图控制器默认启用了此模式,它不是从您的主视图控制器派生的,因此需要对其进行子类化

于 2012-11-24T14:13:41.810 回答