gpt4 book ai didi

iphone - 更改 MFMailComposeViewController 的标题

转载 作者:太空狗 更新时间:2023-10-30 03:18:30 25 4
gpt4 key购买 nike

我在我的应用程序中使用 MFMailComposeViewController 处理应用程序内电子邮件,但我无法更改标题。默认情况下,它在标题中显示主题,但我想将标题设置为其他内容。我该怎么做?

我试过:

controller.title = @"Feedback";

但是没用。

这是我的代码:

- (IBAction)email {
NSArray *array = [[NSArray alloc] initWithObjects:@"myemail@gmail.com", nil];
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
[[controller navigationBar] setTintColor:[UIColor colorWithRed:0.36 green:0.09 blue:0.39 alpha:1.00]];
controller.mailComposeDelegate = self;
controller.title = @"Feedback";
[controller setSubject:@"Long subject"];
[controller setMessageBody:@""
isHTML:NO];
[controller setToRecipients:array];
[self presentModalViewController:controller animated:YES];
[controller release];
[array release];
}

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
[self becomeFirstResponder];
[self dismissModalViewControllerAnimated:YES];
}

最佳答案

您可以使用一行代码为您的 MFMailComposeViewController 设置不同的标题,就像这样。

...
[self presentModalViewController:controller animated:YES]; // Existing line
[[[[controller viewControllers] lastObject] navigationItem] setTitle:@"SomethingElse"];
...

但是,此实现实际上依赖于 MFMailComposeViewController 的未记录功能。您正在访问私有(private)类 (_MFMailComposeRootViewController) 的 navigationItem 并将其标题更改为邮件主题以外的内容。我赞同 Art Gillespie 的观点,您不应该这样做,并且很可能会因为这样做而被 Apple 评论员拒绝。此外,此过程可能会在 iPhone OS 的任何次要版本中完全改变,可能会导致用户崩溃,直到您可以发布更新来修复该行为。

不过,决定权在您,如果您仍想采取这些不推荐的步骤,那就是您的做法。

关于iphone - 更改 MFMailComposeViewController 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1737848/

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