gpt4 book ai didi

ios - MFMailComposeViewController 显示空 View

转载 作者:行者123 更新时间:2023-11-29 03:27:49 24 4
gpt4 key购买 nike

我不确定我是否正确理解MFMailComposeViewController。我期待一个具有现有 View 的 View Controller 显示在我的屏幕上。我可以看到 FTViewController 的 View 。但邮件编辑器从未出现。

我已将原始问题简化到最低限度。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.

FTViewController *vc = [[FTViewController alloc]init];
self.window.rootViewController = vc;
..
}

在 FTViewController.m

- (void)viewDidLoad
{
[super viewDidLoad];
FTTest *test = [[FTTest alloc] init];
[test testmeup];
}

FT测试:

#import <MessageUI/MessageUI.h>

@interface FTTest : UIViewController <MFMailComposeViewControllerDelegate>

@implementation FTTest

- (void)testmeup
{
BOOL ok = [MFMailComposeViewController canSendMail];
if (!ok)
return;
MFMailComposeViewController* vc = [MFMailComposeViewController new];
vc.mailComposeDelegate = self;
[self presentViewController:vc animated:YES completion:nil];
}

最佳答案

我终于找到了解决问题的方法。

如果我将相同的代码从 - (void)viewDidLoad 移动到一个可操作的方法,它就像一个魅力。因此,用户需要先按下一个按钮或采取一个 Action 才能工作。

- (IBAction)gogogo:(id)sender
{
FTTest *test = [[FTTest alloc] init];
[test testmeup];
}

我相信 Apple 这样做是为了确保用户知道发送了哪些电子邮件。最初我打算使用这种方法来捕获异常并通过电子邮件将它们发送给自己,如本 solution here 中所述。 .

也许我忽略了什么,请随时发表评论。

关于ios - MFMailComposeViewController 显示空 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com