Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 删除电子邮件工作表上的自定义导航栏_Ios_Objective C_Uinavigationbar_Mfmailcomposeviewcontroller - Fatal编程技术网

Ios 删除电子邮件工作表上的自定义导航栏

Ios 删除电子邮件工作表上的自定义导航栏,ios,objective-c,uinavigationbar,mfmailcomposeviewcontroller,Ios,Objective C,Uinavigationbar,Mfmailcomposeviewcontroller,我的应用程序代理中有以下代码: [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Nav Bar.png"] forBarMetrics:UIBarMetricsDefault]; 这很好用,但是我使用了MFMailComposeViewController,我希望它具有默认的导航栏外观 我该怎么做 编辑: 我尝试了以下代码: [[UINavigationBar appearanceWhenContai

我的应用程序代理中有以下代码:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Nav Bar.png"] forBarMetrics:UIBarMetricsDefault];
这很好用,但是我使用了
MFMailComposeViewController
,我希望它具有默认的导航栏外观

我该怎么做

编辑:

我尝试了以下代码:

[[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], [UIViewController class], nil] setBackgroundImage:[UIImage imageNamed:@"Textured Background.png"] forBarMetrics:UIBarMetricsDefault];
我也尝试过只使用这个代码。没有什么变化。默认导航栏,包括邮件视图控制器


我认为它可能是一个带有
外观的东西,当它包含在:
中时。有人知道MFMailComposeViewController将包含在什么中吗?

您可以尝试以下方法:

[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], nil]
这意味着MFMailComposeViewController类中包含的所有导航栏

从文档中:

这将返回外观代理,以便您可以按如下方式修改它:

[[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], nil] setBackgroundImage:myImage];
希望对您有所帮助。

您可以尝试以下方法:

[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], nil]
这意味着MFMailComposeViewController类中包含的所有导航栏

从文档中:

这将返回外观代理,以便您可以按如下方式修改它:

[[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController class], nil] setBackgroundImage:myImage];

希望能有帮助。

我想出来了!代码如下:

[[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
MFMailComposeViewController *emailVC = [[MFMailComposeViewController alloc] init];
//the rest of the implementation goes here...
[self presentViewController:emailVC animated:YES completion:nil];
然后,我在此处将导航栏外观设置回正常状态:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Nav Bar.png"] forBarMetrics:UIBarMetricsDefault];
    [self dismissViewControllerAnimated:YES completion:nil];
}

我知道了!代码如下:

[[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
MFMailComposeViewController *emailVC = [[MFMailComposeViewController alloc] init];
//the rest of the implementation goes here...
[self presentViewController:emailVC animated:YES completion:nil];
然后,我在此处将导航栏外观设置回正常状态:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Nav Bar.png"] forBarMetrics:UIBarMetricsDefault];
    [self dismissViewControllerAnimated:YES completion:nil];
}

没用。这是我的代码:
[[UINavigationBar appearancewhen containedin:[MFMailComposeViewController class],nil]setBackgroundImage:[UIImage imageNamed:@“Mail Nav.png”]forBarMetrics:UIBarMetricsDefault]
邮件导航.png是一个透明的图像,所以它应该只显示正常导航栏。@科迪,我不认为你可以将其还原为“正常”导航栏,正常导航栏内部也设置了背景图像(或色调不确定),所以一旦更改,你就无法还原它。你必须从本质上重现它所使用的背景图像。我认为它可能是某种带有
外观的东西,如果包含在:
中。你知道MFMailComposeViewController将包含在哪个
MFMailComposeViewController
中吗?不起作用。这是我的代码:
[[UINavigationBar appearancewhen containedin:[MFMailComposeViewController class],nil]setBackgroundImage:[UIImage imageNamed:@“Mail Nav.png”]forBarMetrics:UIBarMetricsDefault]
邮件导航.png是一个透明的图像,所以它应该只显示正常导航栏。@科迪,我不认为你可以将其还原为“正常”导航栏,正常导航栏内部也设置了背景图像(或色调不确定),所以一旦更改,你就无法还原它。你必须从本质上重现它所使用的背景图像。我认为它可能是某种带有
外观的东西,如果包含在:
中。你知道MFMailComposeViewController将包含在什么
MFMailComposeViewController
中吗?它对我不起作用。。形象在我的外表中总是如此showed@gbesler-没问题,这对我不起作用。。形象在我的外表中总是如此showed@gbesler-没问题。