MFMailComposeViewController

MFMailComposeViewController

我有一个MFMailComposeViewController,它使用以下方法调用:

    - (IBAction)sendEmail:(id)sender {

    NSArray *toRecipents = [NSArray arrayWithObject:@"[email protected]"];

    MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
    mc.mailComposeDelegate = self;
    [mc setSubject:@"Email"];
    [mc setMessageBody:message.text isHTML:NO];
    [mc setToRecipients:toRecipents];

    // Present mail view controller on screen
    [self presentViewController:mc animated:YES completion:NULL];

}


我想要控制器加载时,我希望他的高度比视图的高度小50像素,我不希望他占据整个屏幕。有什么办法吗?

编辑:我面临的问题是,我正在调用的MFMailComposeViewController最初是在使用模态页面卷曲效果调用的视图控制器内部,因此卷曲效果阻止我按下“发送电子邮件”按钮!这是一张照片



因此,无论您尝试多少,您都无法单击发送按钮……在这种情况下我该怎么办而不会被苹果拒绝

编辑2:
我可以只关闭模式卷曲页面效果,然后弹出此视图控制器吗?

最佳答案

据我所知,如果没有标准或允许的方式来做您想要的事情。
我还要担心是否会通过批准,因为Apple指出了有关邮件撰写者的以下事项:

要点:此类的视图层次结构是私有的,您不能对其进行修改。但是,您可以使用UIAppearance协议来自定义实例的外观。
呈现邮件组合视图控制器后,您的应用无法更改电子邮件内容。用户可以编辑所呈现实例的内容,但是系统会忽略编程更改。如果要为内容字段设置值,请在显示界面之前进行设置。 class reference

如果您对发送电子邮件有一些自定义设计要求,我建议您实现自己的视图并使用一些服务器发送电子邮件,但是我不确定您的设计要求有多难。

关于ios - 调整MFMailComposeViewController的大小,并防止其覆盖整个屏幕,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23328782/

10-12 14:43